Я знаю, что на 1001 * Left Joins есть много хороших ответов, но у меня возникают проблемы с поиском чего-то, имеющего отношение к моей конкретной проблеме.Я прошу прощения за возможную повторную тему, но помощь будет принята с благодарностью.
У меня есть две таблицы с продажами подарочных карт.Я должен убедиться, что суммы совпадают.Я ищу помощь в написании запроса, который будет возвращать все из ТАБЛИЦЫ A, даже если в ТАБЛИЦЕ 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. Однако мне нужно, чтобы результат показывал каждый идентификатор независимо от того, есть совпадение или нет.Результирующий набор - это то, что я ожидаю от использования Inner Join.