加入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
)
这不是给我所需的结果,请帮助我。
当你想从两个以上的表中获取数据时,你必须使用连接,如果你不想使用连接,那么请确保你有这些表之间的确切关系,例如a。 id = b.membe_id等。 在你的情况下,我认为这种关系是不正确的,确保你有两个表中共同的东西。
Thanku。
mem中的id和付款中常见的 – Amani
您必须使用带名称的别名。 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
约'选择m.name,从m的m.id什么上m.id = pm.mid其中p.session = 3'加入支付p!? – chris85
@Tamar应该是'=',而不是'=='(这将是PHP语法,而不是sql)。 – Shadow
mid和pid有用户ID,我认为如果它不相同,那么我们得到没有付费用户的名字。 – Amani