加入mysqli中的表格,然后获取匹配结果

问题描述:

我在我的数据库中有两个表,如成员和付款。表成员具有用户的名称和ID,并且支付表具有支付的ID,金额和会话,如果用户1已经支付1500用于会话3,则表支付具有以下细节。 1月中旬,会话3和金额1500加入mysqli中的表格,然后获取匹配结果

现在我想获取所有这些都没有帮助会话1

我使用下面的查询用户的名称,但它不工作

SELECT NAME 
    ,id 
FROM member m 
    ,payment p 
WHERE (
     p.session = '3' 
     AND m.id != p.mid 
     ) 

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

+0

约'选择m.name,从m的m.id什么上m.id = pm.mid其中p.session = 3'加入支付p!? – chris85

+0

@Tamar应该是'=',而不是'=='(这将是PHP语法,而不是sql)。 – Shadow

+0

mid和pid有用户ID,我认为如果它不相同,那么我们得到没有付费用户的名字。 – Amani

当你想从两个以上的表中获取数据时,你必须使用连接,如果你不想使用连接,那么请确保你有这些表之间的确切关系,例如a。 id = b.membe_id等。 在你的情况下,我认为这种关系是不正确的,确保你有两个表中共同的东西。

Thanku。

+0

mem中的id和付款中常见的 – Amani

+0

您必须使用带名称的别名。 SELECT m.name ,m.id FROM构件米 ,付款p WHERE( p.session = '3' AND m.id!= p.mid ) –

什么是这样的:

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