在mysqli中加入一个表,然后获取匹配的结果

时间:2017-06-19 12:20:15

标签: mysql sql

我的数据库中有两个表,如成员和付款。表成员具有用户的名称和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
        )

这不是给我所需的结果,请帮助我。

2 个答案:

答案 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。