sql 日期查询格式的问题,提示字符串转换时语法错误
来源:百度知道 编辑:UC知道 时间:2024/05/27 06:18:58
日期 数量 物品
1月1日 200 A
1月1日 300 A
1月2日 100 B
1月3日 200 A
我希望得到的结果是:
物品 1月1日 1月2日 1月3日
A 500 0 200
B 0 100 0
SQL:
Declare @sql varchar(800)
set @sql = 'select 物品'
select @sql = @sql + ', sum(case 日期 when '+ 日期+' then 数量 else 0 end ) as '+ 日期+''
from (select distinct 日期 from A ) as mycb
select @sql = @sql+' from A group by 物品'
exec(@sql)
提示字符串转换时语法错误
帮帮忙!
将表结构拆分了
给你个事例
自己看看就知道了
--注:建表参考
************************************************
/*
有表A,结构如下:
A: P_ID P_Num S_ ID
1 10 01
1 12 02
2 8 01
3 11 01
3 8 03
其中:P_ID为产品ID,P_Num为产品库存量,S_ ID为仓库ID。
请用SQL语句实现将上表中的数据合并,合并后的数据为:
P_ID S1_ID S2_ID S3_ID
1 10 12 0
2 8 0 0
3 11 0 8
其中:S1_ ID为仓库1的库存量,S2_ ID为仓库2的库存量,S3_ ID为仓库3的库存量。
如果该产品在某仓库中无库存量,那么就是0代替。
*/
***************************************************************
create table A
(
p_id int,
p_num int,
s_id varchar(4)
)