ในฐานข้อมูลมีตาราง ดังนี้
--------------------------------------------------
StockCode | Qty(จำนวน) | Type
--------------------------------------------------
PT 20 A
PT 12 B
PT 7 B
PT 4 A
AR 5 A
AR 13 B
AR 6 A
AR 9 A
ผมต้องการให้สรุปข้อมูลโดยการบวกลบQTYกัน โดยเอา Type คนละประเภทมาคิดคำนวณกัน
จากตาราง ผมต้องการผลลัพธ์ ดังนี้
---------------------------------------
StockCode | Qty
---------------------------------------
PT 5
AR 7
สรุปก็คือ Type A ก็บวกกันกับที่เป็น Type A ก่อน แล้วค่อยไปลบออกจาก Type B
ไม่ทราบว่าพอจะ code เขียน SQL ได้ไหมครับ
ผมใช้ SQL SERVER 2005 กับ C# ครับ
Tag : .NET, Ms SQL Server 2005, Win (Windows App), C#, VS 2008 (.NET 3.x)
select StockCode, Qty, [Type] from TblStock
select StockBalance.* from
(
select stockA.StockCode, (stockA.QtyA - stockB.QtyB) as Qty from
(
select StockCode, sum(Qty) as QtyA from TblStock
where [Type] = 'A'
group by StockCode
) stockA,
(
select StockCode, sum(Qty) as QtyB from TblStock
where [Type] = 'B'
group by StockCode
) stockB
where stockA.StockCode = stockB.StockCode
) StockBalance
order by StockBalance.StockCode desc