17,377
社区成员
发帖
与我相关
我的任务
分享
--如果很多仓库就拼结字符串吧
with t(产品名,产品数量,仓库ID) as(
select 'A产品',1,1 from dual
union all select 'A产品',2,3 from dual
union all select 'B产品',1,1 from dual
union all select 'C产品',6,4 from dual
)
select 产品名,
sum(decode(仓库ID,1,产品数量,0)) 仓库ID_1,
sum(decode(仓库ID,2,产品数量,0)) 仓库ID_2,
sum(decode(仓库ID,3,产品数量,0)) 仓库ID_3,
sum(decode(仓库ID,4,产品数量,0)) 仓库ID_4
from t group by 产品名 order by 产品名;
/*
产品名 仓库ID_1 仓库ID_2 仓库ID_3 仓库ID_4
-------------- ---------- ---------- ---------- ----------
A产品 1 0 2 0
B产品 1 0 0 0
C产品 0 0 0 6
*/