我想顯示一個包含以下列的表格:
| 庫存單位 | 倉庫A中的庫存 | 倉庫 B 中的庫存 |
|---|---|---|
| 123 | 10 | 20 |
以下是我當前的查詢:
select a.ItemID, SUM(a.Quantity), b.WarehouseDescription
from dbo.a
INNER JOIN dbo.b on a.WarehouseID = b.WarehouseID
GROUP BY a.ItemID, b.WarehouseDescription
HAVING a.Quantity <>0
and b.WarehouseDescription = 'WarehouseA'
and b.WarehouseDescription = 'WarehouseB'
ORDER BY a.ItemID, b.WarehouseDescription
到目前為止生成的輸出遵循以下形式:
| 庫存單位 | 倉庫A中的庫存 | 倉庫 A |
| 庫存單位 | 倉庫 B 中的庫存 | 倉庫 B |
| 123 | 10 | 倉庫 A |
| 123 | 20 | 倉庫 B |
歡迎反饋/建設性意見!
uj5u.com熱心網友回復:
主要是在這里猜測,因為我們沒有太多細節可以處理。但是像這樣的事情是你可以如何處理條件聚合的方式。
select a.ItemID
, WarehouseA = SUM(case when b.WarehouseDescription = 'WarehouseA' then a.Quantity else 0 end)
, WarehouseB = SUM(case when b.WarehouseDescription = 'WarehouseB' then a.Quantity else 0 end)
from dbo.a
INNER JOIN dbo.b on a.WarehouseID = b.WarehouseID
where b.WarehouseDescription in ('WarehouseA', 'WarehouseB')
GROUP BY a.ItemID
HAVING a.Quantity <>0
ORDER BY a.ItemID
, b.WarehouseDescription
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/495818.html
標籤:sql服务器
上一篇:如何做多個PIVOT
