我得到了這個簡單的連接語句,我非常肯定語法是正確的。我看了一些教程,我沒有發現我的代碼和示例有任何區別。 這裏的語句: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