MySql Нет доступа к родителю в подзапросе? - PullRequest
0 голосов
/ 27 сентября 2010

я получаю ошибку

Unknown column 'm.id' in 'on clause'

во всех моих таблицах есть поле с именем id. Похоже, что происходит в моем подзапросе. Я использую m.id в моем соединении. Так что, черт возьми, происходит? я не должен иметь доступ к этой переменной? Как я могу получить доступ к media.id из моего подзапроса? Кроме того, and not (select 1 часть верно? я пытаюсь исключить этот тег.

select m.id from media m 
join tag_name as n0 on n0.title = @a0 
    join media_tag as t0 on t0.media_id=m.id AND t0.tag_id = n0.id
where 1 
AND not (select 1 from tag_name as n1
    join media_tag as t1 on t1.media_id=m.id AND t1.tag_id = n1.id
    where n1.title = @a1) 
order by m.id desc;

1 Ответ

1 голос
/ 27 сентября 2010

Переместите проверку t1.media_id = m.id в предложение where, и это работает (в любом случае, для меня):

select m.id from media m 
join tag_name as n0 on n0.title = @a0 
    join media_tag as t0 on t0.media_id=m.id AND t0.tag_id = n0.id
where 1
AND not (select 1 from tag_name as n1
    join media_tag as t1 on t1.tag_id = n1.id
    where t1.media_id=m.id AND n1.title = @a1) 
order by m.id desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...