我对特定的 SQL 查询有点打嗝。我需要连接来自两个表的数据,同时还通过第三个表来限制数据(但不一定要抓取它)。表格如下:
MEMBERS(member_id,first_name,last_name)
MEMBERS_GROUPS(member_id,group_id)
CHARGES(charge_id,member_id,charge_amount,status)
我需要查找特定组的所有成员的所有费用,但我还想从 MEMBERS 表中获取名字和姓氏。到目前为止,我提出的查询是:
select c.*, m.first_name, m.last_name
FROM charges c
LEFT JOIN member m
ON c.member_id=m.member_id
INNER JOIN members_groups mg
ON mg.group_id=1
我也试过:
SELECT c.*, m.first_name, m.last_name
FROM charges c, members_groups mg, member m
WHERE c.member_id=mg.member_id
AND mg.group_id = 1
AND c.status='Valid'
AND c.member_id = m.member_id
…但两者都没有返回我需要的数据。我确定我想太多了,但我无法终生获得正确的价值观。我不断得到似乎是笛卡尔积的东西——无论如何,它显然返回了太多的行和错误的数据。