2010-09-27 3 views
0

я получаю ошибкуMySql Не удается получить доступ к родительскому элементу в подзапросе?

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

все мои таблицы имеют поле с именем идентификатор. Похоже, что это происходит в моем подзапросе. Я использую 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; 

ответ

1

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

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; 
+0

Это решило его! Я могу поклясться, что синтаксис подобен этому в sqlite. Если это так, мне нравится, как расслабленный/простой sqlite и надеюсь, что у меня не слишком много проблем с mysql – 2010-09-27 06:42:07

Смежные вопросы