Колонка в предложении where неоднозначна. Что это значит? - PullRequest
10 голосов
/ 19 мая 2011

Я столкнулся с этой ошибкой в ​​MySQL для предложения join, но я довольно новичок в аргументе JOIN и не уверен, что это значит. Кто-нибудь может помочь?

Столбец 'id' в случае, где предложение неоднозначно

SELECT * FROM (`venues`) 
JOIN `venues_meta` ON `venues_meta`.`venue_id` = `venues`.`id` 
WHERE `id` = '12'

Ответы [ 3 ]

33 голосов
/ 19 мая 2011

Вы должны полностью квалифицировать id, поскольку venues и venues_meta оба имеют столбец с именем id.

0 голосов
/ 12 августа 2016

Попробуйте этот код

SELECT v.*
FROM `venues` AS `v` 
INNER JOIN `venues_meta` AS `vm` ON `vm`.`venue_id` = `v`.`id` 
WHERE `v`.`id` = '12'
0 голосов
/ 19 мая 2011

Я думаю, что вы хотите:

SELECT * FROM `venues` v, `venues_meta` m  where v.venue_id = m.id AND  m.id = '12'

(но убедитесь, что вы хотите v.venue_id, а не v.id)

...