 |
|
การรวมข้อมูลให้อยู่แถวเดียวกัน โดยมีสองเงื่อนไข (SQL SERVER) |
|
 |
|
|
 |
 |
|
ผมจะทำให้ข้อมูลออกมาแค่แถวเดียว แต่มีการกำหนด สองเงื่อนไข จึงทำการ UNION ALL แต่มันทำไมไ่ด้
Code (SQL)
Select '8008008' as MachineID,BillNumber,Amount as GTO1,PaymentType As Pay1,0 as GTO2,0 as Pay2
From TempWCN_CNPW
Where Line = 1
UNION ALL
Select '8008008' as MachineID,BillNumber,0 as GTO1,0 As Pay1,Amount as GTO2,PaymentType As Pay2
From TempWCN_CNPW
Where Line = 2
ผลลัพธ์
Code (SQL)
8008008 MVLWB000009 17 2 0 0
8008008 MVLWB000009 0 0 50 1
แต่ที่อยากได้คือ
Code (SQL)
8008008 MVLWB000009 17 2 50 1
ต้องใช้คำสั้งไหนหรอครับ
Tag : .NET, Ms SQL Server 2012
|
ประวัติการแก้ไข 2016-07-04 14:23:14 2016-07-04 14:23:48
|
 |
 |
 |
 |
Date :
2016-07-04 14:21:37 |
By :
chopin |
View :
958 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอามา Sum กันหรือปล่าวครับ
|
 |
 |
 |
 |
Date :
2016-07-04 15:21:50 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Union กันนะ ถูกแล้วครับ แล้วก็เอามากรุ๊ปกันตาม #2
โดยสร้าง SELECT ครอบไว้บนหัวอีกชั้นนึงเพื่อให้กรุ๊ปกันได้
Code (SQL)
SELECT G.MachineID, G.BillNumber, G.PaymentType , SUM(G.COL_C) AMT1,.......
FROM (
--YOUR QUERY
) G
GROUP BY G.MachineID, G.BillNumber, G.PaymentType
|
 |
 |
 |
 |
Date :
2016-07-04 15:49:19 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|