@00day

Почему в таблице mysql, которую я получаю с помощью select-запроса с join, содержатся дубликаты?

Есть две таблицы.

Первая - servers:

LzBLSMB.png
Вторая - tags:

N8XhJnc.png

Мне нужно получить serverInviteID и serverDescription из таблицы servers для всех "серверов", у которых в таблице tags есть определенные "теги".

Я написал следующий запрос:

SELECT servers.serverInviteID, servers.serverDescription FROM servers JOIN tags ON servers.serverInviteID = tags.serverInviteID WHERE tags.tag IN ("onetwothe", "oo");


И в результате я почему-то получаю таблицу с дубликатами, test повторяется два раза:

BNgN1iP.png

Как исправить запрос, чтоб он соответствовал моей задаче и возвращал таблицу без дубликатов?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
IvanU7n
@IvanU7n
nothing interesting here
JOIN так и должен работать, а нужно использовать EXISTS, что-то вроде
SELECT servers.serverInviteID, servers.serverDescription
FROM servers
WHERE EXISTS (
  SELECT * FROM tags
  WHERE tags.serverInviteID = servers.serverInviteID
  AND tags.tag IN ('onetwothe', 'oo')
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы