看板 Database 關於我們 聯絡資訊
資料庫名稱:Mysql 內容/問題描述: 我有三個 table pj pj_ass us_ -------- -------- -------- pid pj_assid uid name pid name uid name 以下的語法可以執行 select pj.name, pj_ass.name, us_.name from pj_ass Inner join pj on pj.pid = pj_ass.pid Inner join us_ on pj_ass.uid = us_.uid 以下的語法會出現錯誤:Column 'uid' in from clause is ambigous select pj.name, pj_ass.name, us_.name from pj_ass Inner join pj using(pid) Inner join us_ using(uid) 但以下的語法是正常的: select pj.name, pj_ass.name, us_.name from pj_ass Inner join pj using(pid) Inner join us_ on pj_ass.uid = us_.uid 已經找了很多解法,雖然可解,但想了解為什麼後面的語法不能呢? 麻煩各位先進提點一下,非常感謝。 -- 早睡早起身體好,事事順心沒煩惱,電腦若是修得好,好人絕對當到老。 辜狗若是用的好,正妹一定會來找,一旦問題解決了,只會說聲你真好。 資工好人真正慘,電腦永遠修不完,整夜工作有夠幹,明早還得送去還。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.118.253 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1420186502.A.994.html
BigLoser: us_.uid 01/02 18:01
BigLoser: try it 01/02 18:01
BigLoser: 阿,你解決了阿..不行的原因就是他給你抱錯的那個訊息 01/02 18:02
BigLoser: 沒碰過mysql,不過重點在於,因為有多個table 01/02 18:03
BigLoser: 裡面有相同的column name,所以會ambigous 01/02 18:04
wadd: 但我如果把三個table 的 name 改不同名稱,還是同樣錯誤訊息 01/02 18:11
NioTW: 問題不在table名稱,在多個table都有相同欄位名稱,要清楚 01/09 23:44
NioTW: 指出是哪個表 01/09 23:44