Я пытаюсь использовать это соединение для возврата нескольких строк идентификатора пользователя, где они находятся в списке получателей из определенной строки в другой таблице.MySQL JOIN возвращает только первое совпадение
SELECT a.`USER_ID`
FROM Users a
INNER JOIN Lists b ON a.`USER_ID` = b.`RECIP`
WHERE a.`PARENT` = '1'
AND b.`LIST_ID` = '210'
Запрос выше должен возвращать 5 строк, как есть 5 матчей в RECIP
, но я только видя 1 результат, который является первым матчем в RECIP
В таблице «Lists», строки LIST_ID «210» сабельные содержит '22, 33,40,42,45' Таким образом, я надеялся, что запрос возвратит 5 строк из таблицы „Пользователи“, как все эти USER_ID существуют-х:
USER_ID 22
USER_ID 33
USER_ID 40
USER_ID 42
USER_ID 45
Но я получаю только один результат:
USER_ID 22
Я попробовал несколько вещей (SELECT DISTINCT ..., GROUP BY a.ID), но я не продвигаюсь. Честно говоря, я все еще пытаюсь склонить голову к объединению.
Может ли кто-нибудь посоветовать?
Это 'b.ID =«210'' есть предикат, который ограничивает соответствие записей из 'Lists' таблицы. –
Да, я думаю, вы хотели отфильтровать идентификатор в 'a' not' b'. – shawnt00