为什么在mysql php中会显示许多同名的行?

kq0g1dla  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(589)

我试着把两个表内部连接起来 '=' 它很管用,但是当我使用 '!=' 它不工作了。结果是许多行具有相同的值。
例如

name:
john
john
john
john
john
mary
mary
mary
mary
lisa
lisa
lisa
lisa
lisa etc... (many other names)

这是我的密码。

SELECT part_names FROM participants INNER JOIN reservations ON participants.part_id != reservations.part_id

疯狂的事情是,例如,我得到5个约翰的,5个丽莎的,只有4个玛丽的(玛丽不应该显示,因为她的参与者身份证不匹配的一个预订)。如何解决这个问题,使我只能看到表中part\id与reservations表中part\id不匹配的参与者?只有1个,所以不是丽莎,只是丽莎。谢谢!

cig3rfwq

cig3rfwq1#

我很确定你想要一个 left join 并与 NULL :

SELECT p.part_names
FROM participants p LEFT JOIN
     reservations r
     ON p.part_id = r.part_id
WHERE r.part_id IS NULL;

也就是说,查找匹配项,然后返回不匹配的行。

相关问题