Как использовать поле из подзапроса в MySQL? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть следующий запрос:

SELECT insent.id, notifications.id
FROM insent
WHERE insent.id IN (
    SELECT insent_id
    FROM notifications
)
;

Но это выдает ошибку, говорящую:

Неизвестный столбец «notifications.id» в «списке полей»

Есть идеи, как мне это сделать?

Ответы [ 2 ]

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

Проблема здесь в том, что таблица уведомлений не входит в область действия. Попробуйте вот так

SELECT 
   i.id, 
   n.id 
FROM insent AS i
JOIN notifications AS n ON n.insent_id = insent.id
0 голосов
/ 27 ноября 2018

Если вы хотите получить данные из нескольких таблиц в одном запросе, вам следует использовать конструкцию JOIN .Например:

SELECT 
    insent.id, 
    notifications.id 
FROM insent 
JOIN notifications ON notifications.insent_id = insent.id

, если вы не хотите, вы должны удалить поле notifications.id из списка полей

SELECT 
   insent.id
FROM insent
WHERE insent.id IN (
    SELECT insent_id FROM notifications
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...