我确信这里有一个很好的补救问题,但我不能为我的生活让这个简单的联接起作用。
基本上,我有3张桌子:
我希望从特定群组的成员中获取所有款项。通过仅使用其中两个表,我可以找到特定组的所有付款,没有成员信息,或者我可以找到没有付款信息的所有成员信息。但是,当我尝试添加第三个表时,会返回错误数据(例如,我的成员不在该组中)。这是我正在使用的基本查询:
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
我不确定断开连接的位置,但是非常感谢任何帮助。
答案 0 :(得分:2)
我认为这应该得到你想要的东西:
SELECT p.*,
m.first_name,
m.last_name
FROM payments p
INNER JOIN members m
ON m.member_id = p.member_id
INNER JOIN member_to_group mg
ON mg.member_id = m.member_id
WHERE mg.group_id = 12