Я получаю сообщение об ошибке
Unknown column 'm.id' in 'on clause'
все мои таблицы имеют поле с именем id. Похоже, что это происходит в моем подзапросе. Я использую m.id в своем соединении. Так что же происходит? не должен ли я иметь доступ к этому var? как я могу получить доступ к 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;
Переместите проверку 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;