where子句中的列含糊不清 - 这是什么意思?
问题描述:
我在MySQL中遇到了关于连接子句的这个错误,但我对JOIN
参数还是比较陌生的,我不确定这是什么意思。谁能帮忙?where子句中的列含糊不清 - 这是什么意思?
列 'ID' 在where子句是暧昧
SELECT * FROM (`venues`)
JOIN `venues_meta` ON `venues_meta`.`venue_id` = `venues`.`id`
WHERE `id` = '12'
答
您需要完全限定id
因为venues
和venues_meta
都有一列称为id
。
答
我想你想:
SELECT * FROM `venues` v, `venues_meta` m where v.venue_id = m.id AND m.id = '12'
(但可以肯定的是v.venue_id你想,而不是V.ID)
+1
你的逗号并不完全相同如果你试图将'venues'别名为'v'和'venues_meta'作为'm',则为rect。 – 2011-05-19 17:18:19
+0
ack!你是对的 - 更新。 – 2011-05-19 17:47:30
@克里斯摩根谢谢,这也帮助我 – Ritesh 2014-01-20 07:36:54
所以只是为了让别人清楚...它需要成为WHERE venues.id = 12 – renevdkooi 2014-04-22 10:50:47