我的数据库中有两个表,如成员和付款。表成员具有用户的名称和ID,并且支付表具有ID,金额和支付会话,例如,如果用户1已经为会话3支付了1500,则表支付具有以下细节。中期1,会议3和金额1500。
现在我想获取所有对会话1没有帮助的用户的名字
我正在使用以下查询,但它无效
SELECT NAME
,id
FROM member m
,payment p
WHERE (
p.session = '3'
AND m.id != p.mid
)
这不是给我所需的结果,请帮助我。
答案 0 :(得分:0)
这样的事情:
SELECT NAME
,id
FROM member m
inner JOIN payment paid
ON m.id = paid.mid
AND paid.sessionid = '1'
LEFT JOIN payment p
ON m.id = p.mid
AND p.sessionid = '3'
WHERE p.id IS NULL
答案 1 :(得分:-1)
当您想要从两个以上的表中获取数据时,您必须使用连接,如果您不想使用连接,那么请确保您在表之间有确切的关系,例如a .id = b.membe_id等.. 在你的情况下,我认为这种关系是不对的,请确保你在两个表格中有共同点。
Thanku。