У меня есть то, что, я уверен, вполне корректный вопрос, но я не могу на всю жизнь заставить это простое соединение работать.
В основном у меня есть 3 таблицы:
- ЧЛЕНЫ (имя, фамилия),
- MEMBER_TO_GROUP (member_id, group_id)
- ПЛАТЕЖИ (member_id, дата, сумма).
Я хочу получить все платежи от участников определенной группы. Используя только две таблицы, я могу найти все ПЛАТЕЖИ определенной группы без информации о ЧЛЕНЕ, или я могу найти всю информацию о ЧЛЕНАХ без информации о ПЛАТЕЖЕ. Однако, когда я пытаюсь добавить третью таблицу, возвращаются неверные данные (например, я получаю членов, не входящих в группу). Это основной запрос, который я использую:
SELECT
p.*,
m.first_name,
m.last_name
FROM
members m,
payments p,
member_to_group mg
WHERE
mg.group_id = 12
AND mg.member_id = p.member_id
AND m.member_id = p.member_id
Я не уверен, где разъединение, но любая помощь будет наиболее ценной.