我得到了这个简单的连接语句,我非常肯定语法是正确的。我看了一些教程,我没有发现我的代码和示例有任何区别。 这里的语句:MySQL内部连接失败
SELECT n.id nId, n.news_date, n.news_type,
p.id pId, p.title pTitle, p.file_path pPath,
s.id sId, s.title sTitle, s.content sContent,
v.id vId, v.title vTitle, v.url vUrl
FROM photo_news p, standard_news s, video_news v
INNER JOIN news n
ON p.news_id = n.id OR s.news_id = n.id OR v.news_id = n.id
ORDER BY n.news_date DESC
我收到以下错误:
Unknown column 's.news_id' in 'on clause'
我真的不知道是因为列“news_id”在它存在的每个表都存在,为什么推出这个错误。 如果我改变ON子句的顺序(即我从p.news_id = n.news_id开始),我得到相同的错误(unknwonw列p.news_id)。所以我认为别名有问题,但我真的没有线索。 感谢您的帮助;)
不要将传统连接语法与显式连接语法混合使用。 –
你可以在ON语句中使用OR吗? – user1336827
@juergend我同意你的意见(事实上,避免逗号加入) - 但它是'传统'? – Strawberry