問題復現如下:
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後面不用修改也行.