Почему в MySQL php отображается много строк с одинаковыми именами? - PullRequest
0 голосов
/ 19 ноября 2018

Я пытался объединить две таблицы, и когда я использую '=', он работает, но когда я использую '!=', он больше не работает. В результате получается множество строк с одинаковым значением.

Например

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 в таблице участников не соответствует совпадение в таблице бронирования? и только 1, так что не Лиза Лиза Лиза Лиза Лиза, а просто Лиза. спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018

Я уверен, что вы хотите 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;

То есть ищите совпадения, а затем возвращайте строки без совпадений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...