Unknown column 'XXX' in 'where clause'一例排查

問題復現如下:

select * from merge.fraud_card1 where 
 merge.fraud_card1.card1=merge.fraud_card1.card1

這個查詢沒問題,

然後下面一個居然出問題了

select * from merge.train where merge.fraud_card1.card1=merge.train.card1

也就是說merge.fraud_card1.card1在第一個SQL語句中能找到,第二個SQL語句中就找不到了.這是爲什麼呢?

經過仔細觀察發現:

where這個關鍵詞是有範圍的,特指from後面的範圍內.

所以你不能從merge.train這個表格裏面查去找另外一個表格merge.fraud_card1裏面的東西.

 

解決方案:

select * from merge.train,merge.fraud_card1 where merge.fraud_card1.card1=merge.train.card1

看到區別沒?

就是from後面多增加了一個範圍,

where後面不用修改也行.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章