子陌,刚刚的问题还有点小麻烦!

btlyeo 2006-10-27 05:37:14
create table test (店面 varchar(10),产品 nvarchar(10),批次 nvarchar(10))
insert into test select 'A店','1',100
insert into test select 'A店','2',200
insert into test select 'A店','3',100
insert into test select 'B店','1','a154'
insert into test select 'B店','3',200
insert into test select 'C店','3',200
go
select * from test
declare @sql varchar(8000)
set @sql='select 店面'
select @sql=@sql+',['+rtrim(产品)+']=max(case 产品 when '+rtrim(产品)+' then 批次 else 0 end)'

from test group by 产品 order by 产品
set @sql=@sql+' from test group by 店面'
exec(@sql)
go

drop table test
go
------------------------------------------
提示是出错的
...全文
99 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
btlyeo 2006-10-27
  • 打赏
  • 举报
回复
多谢
子陌红尘 2006-10-27
  • 打赏
  • 举报
回复
create table test (店面 varchar(10),产品 nvarchar(10),批次 nvarchar(10))
insert into test select 'A店','1','100'
insert into test select 'A店','2','200'
insert into test select 'A店','3','100'
insert into test select 'B店','1','a154' --数据的问题,这里是一个非数字
insert into test select 'B店','3','200'
insert into test select 'C店','3','200'
go
select * from test
declare @sql varchar(8000)
set @sql='select 店面'
select @sql=@sql+',['+rtrim(产品)+']=max(case 产品 when '''+rtrim(产品)+''' then 批次 else ''0'' end)' --此处的0应该转为'0'

from test group by 产品 order by 产品
set @sql=@sql+' from test group by 店面'
print @sql

exec(@sql)
go

drop table test
go

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧