where子句中的列是不明确的 - 这是什么意思?

时间:2011-05-19 17:01:11

标签: php mysql join mysql-error-1052

我在MySQL中遇到了连接子句中的这个错误,但我对JOIN参数还不熟悉,我不确定这意味着什么。有人可以帮忙吗?

  

where子句中的列'id'是不明确的

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

3 个答案:

答案 0 :(得分:32)

您需要完全限定id,因为venuesvenues_meta都有一个名为id的列。

答案 1 :(得分:1)

我想你想要:

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

(但要确保它是你想要的v.venue_id而不是v.id)

答案 2 :(得分:0)

试用此代码

SELECT v.*
FROM `venues` AS `v` 
INNER JOIN `venues_meta` AS `vm` ON `vm`.`venue_id` = `v`.`id` 
WHERE `v`.`id` = '12'