1
我有2個表有部分相同的列,我想在一個查詢合併:結合兩個表,並添加了結果
table 1
|id |user |amount |date
|1 |4 |1000 |2014-01-01 01:00:00
|2 |1 |2000 |2014-01-01 01:00:00
|3 |2 |1500 |2014-01-01 01:00:00
table 2
|id |user |amount |date |flag
|1 |4 |1000 |2014-01-01 01:00:00 |0
|2 |3 |2000 |2014-01-01 01:00:00 |1
|3 |5 |1500 |2014-01-01 01:00:00 |2
我想列出兩個表具有共同的內容,但我想添加金額欄。因此,如果用戶在表1和表2中,甚至在多次都應該在結果中列出他1次,但數量應該加起來。
所以結果應該是以下幾點:
result
|user |amount |date
|4 |2000 |2014-01-01 01:00:00 <- note the 2000 here (1000+1000)
|1 |2000 |2014-01-01 01:00:00
|2 |1500 |2014-01-01 01:00:00
|3 |2000 |2014-01-01 01:00:00
|5 |1500 |2014-01-01 01:00:00
我想查詢像
SELECT user, amount, date FROM (
(SELECT user, amount, date FROM table1)
UNION
(SELECT user, amount, date FROM table2)
) t1
但這並不加起來的金額值和入口得到多次列出。 如果我使用GROUP BY
,它只列出條目1次,但條目得到削減的意義量也沒有總結。使用SUM
,它只添加所有條目並顯示1條目,但我需要將所有條目與數量列總和相加1次。
大和快速的回答,非常感謝! – maddo7