34,590
社区成员
发帖
与我相关
我的任务
分享
Select ttt.商品,
SUM( case when ttt.商品 = '冰箱' then ttt.订单数 else 0 end ) as [冰箱订单数],
SUM( case when ttt.商品 = '冰箱' then ttt.数量 else 0 end ) as [冰箱数量],
SUM( case when ttt.商品 = '冰箱' then ttt.总价 else 0 end ) as [冰箱总价],
SUM( case when ttt.商品 = '彩电' then ttt.订单数 else 0 end ) as [彩电订单数],
SUM( case when ttt.商品 = '彩电' then ttt.数量 else 0 end ) as [彩电数量],
SUM( case when ttt.商品 = '彩电' then ttt.总价 else 0 end ) as [彩电总价],
SUM( case when ttt.商品 = '空调' then ttt.订单数 else 0 end ) as [空调订单数],
SUM( case when ttt.商品 = '空调' then ttt.数量 else 0 end ) as [空调数量],
SUM( case when ttt.商品 = '空调' then ttt.总价 else 0 end ) as [空调总价]
from ttt
group by ttt.商品
DECLARE @sql NVARCHAR(MAX) ='SELECT ttt.品牌,'
SELECT @sql=@sql +'SUM( CASE ttt.商品 WHEN '''+ttt.商品+''' THEN ttt.订单数 END) AS '+ttt.商品+'合计订单数,'
+'SUM( CASE ttt.商品 WHEN '''+ttt.商品+''' THEN ttt.数量 END) AS '+ttt.商品+'合计数量,'
+'SUM( CASE ttt.商品 WHEN '''+ttt.商品+''' THEN ttt.总价 END) AS '+ttt.商品+'合计价格,'
FROM ttt GROUP BY ttt.商品
SET @sql=@sql+'0 FROM ttt
GROUP BY ttt.品牌'
EXEC(@sql)
PRINT @sql
WITH ttt(商品,品牌 , 订单数,数量 ,总价)
AS
(
SELECT '冰箱', '长虹', 1,3,5400
UNION ALL
SELECT '彩电', '长虹', 1,3,5400
UNION ALL
SELECT '空调', '长虹', 1,3,5400
UNION ALL
SELECT '冰箱', '康佳', 1,3,5400
UNION ALL
SELECT '彩电', '康佳', 1,3,5400
UNION ALL
SELECT '空调', '康佳', 1,3,5400
)
SELECT ttt.品牌,
SUM( CASE ttt.商品 WHEN '冰箱' THEN ttt.订单数 END) AS 冰箱合计订单数,
SUM( CASE ttt.商品 WHEN '冰箱' THEN ttt.数量 END) AS 冰箱合计数量,
SUM( CASE ttt.商品 WHEN '冰箱' THEN ttt.总价 END) AS 冰箱合计价格,
SUM( CASE ttt.商品 WHEN '彩电' THEN ttt.订单数 END) AS 彩电合计订单数,
SUM( CASE ttt.商品 WHEN '彩电' THEN ttt.数量 END) AS 彩电合计数量,
SUM( CASE ttt.商品 WHEN '彩电' THEN ttt.总价 END) AS 彩电合计价格,
SUM( CASE ttt.商品 WHEN '空调' THEN ttt.订单数 END) AS 彩电合计订单数,
SUM( CASE ttt.商品 WHEN '空调' THEN ttt.数量 END) AS 彩电合计数量,
SUM( CASE ttt.商品 WHEN '空调' THEN ttt.总价 END) AS 彩电合计价格
FROM ttt
GROUP BY ttt.品牌