有表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代替。
select p_id, sum(case when s_id= '01 ' then p_Num else 0 end) s1_id,
sum(case when s_id= '02 ' then p_Num else 0 end) s2_id,
sum(case when s_id= '03 ' then p_Num else 0 end) s3_id
from t group by p_id
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代替。
select p_id, sum(case when s_id= '01 ' then p_Num else 0 end) s1_id,
sum(case when s_id= '02 ' then p_Num else 0 end) s2_id,
sum(case when s_id= '03 ' then p_Num else 0 end) s3_id
from t group by p_id