所以我有这张表来显示库存水平:
select *
from Stock
会给:
Branch Product ActualStock OrderedStock
------------------------------------------------
London Product1 3 2
Paris Product1 9 4
Rome Product1 6 3
London Product2 3 2
Paris Product2 9 4
Rome Product2 6 3
我希望能够以这种格式编写查询以查看每个分支的ActualStock
:
Product London Paris Rome
-------------------------------------
Product1 3 9 6
我该怎么做?有什么想法吗?
答案 0 :(得分:3)
这会奏效。
按产品分组使用,然后计算组中每个分支的ActualStock总和。
SELECT
[Product]= Product,
[London] =SUM( CASE WHEN Branch ='London' THEN ActualStock ELSE 0 END ),
[Paris] = SUM( CASE WHEN Branch ='Paris' THEN ActualStock ELSE 0 END ),
[Rome] =SUM( CASE WHEN Branch ='Rome' THEN ActualStock ELSE 0 END )
FROM Stock
GROUP BY Product
试试这个SQL Fiddle