我知道有很多很好的問題在左回答回答,但我有麻煩找到有關我的特定問題的東西。我爲可能重複的話題表示歉意,但不勝感激。MySQL左加入不產生預期結果
我有兩個包含禮品卡銷售的表。我必須驗證金額是否匹配。 我正在尋找幫助編寫一個查詢,從表一回一切即使是表B.不匹配的記錄
表A
| id | business_date | am_pm | gift_cards_sold |
================================================
103 | 2011-10-06 | PM | 175.03
104 | 2011-10-06 | PM | 135.03
105 | 2011-10-06 | PM | 250.74
106 | 2011-10-06 | PM | 180.44
107 | 2011-10-06 | PM | 150.10
108 | 2011-10-06 | PM | 130.00
表B
| id | business_date | am_pm | gift_cards_sold |
================================================
103 | 2011-10-06 | PM | 100.03
105 | 2011-10-06 | PM | 250.74
106 | 2011-10-06 | PM | 180.44
107 | 2011-10-06 | PM | 150.10
這是我的查詢到目前爲止(顯然有什麼問題)
SELECT A.id AS ID, A.gift_cards_sold AS A_SOLD, B.gift_cards_sold AS B_SOLD
FROM A
LEFT JOIN B
USING (id)
WHERE A.am_pm = 'PM'
AND A.business_date = '2011-10-06'
AND B.business_date = '2011-10-06'
GROUP BY A.id
ORDER BY A.id ASC
下面是結果:
| id | A_SOLD | B_SOLD |
========================
103 | 175.03 | 100.03
105 | 250.74 | 250.74
106 | 180.44 | 180.44
107 | 150.10 | 150.10
正如你所看到的,是用103號方差不過,我需要的結果顯示每一個ID,無論是否有匹配與否。結果集是我期望使用Inner Join的結果。
感謝您的幫助。 – Brett