我有三個表。 T1,T2,T3。我想獲得t2,t3之間的公共值,並從t1中選擇整個記錄。當我輸入我的語句爲:Erro 1062:SQL語法錯誤
select * from db.t1 where col1
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);
我得到一個語法錯誤。哪裏不對 ?
我有三個表。 T1,T2,T3。我想獲得t2,t3之間的公共值,並從t1中選擇整個記錄。當我輸入我的語句爲:Erro 1062:SQL語法錯誤
select * from db.t1 where col1
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);
我得到一個語法錯誤。哪裏不對 ?
假設你正在測試一個t2.col1 = t3.col1(而不是col1.t2 = col1.t3,如圖所示) ,那麼另一個問題是內部SELECT中col1的歧義。
此:
where col1.t2=col1.t3);
應該是:
where t2.col1=t3.col1);
對不起,這只是一個輸入錯誤在這裏。但我像你一樣寫下了它。我編輯了我的帖子。問題依然存在。 –
我不知道,但也許你要重命名您的包裹COL1:
select * from db.t1 where t1.col1
IN (
select col1 as col1bis from t2 , t3
where t2.col1 = t3.col1);
什麼數據庫平臺,您使用的?錯誤號碼因平臺而異。也看起來你有你的別名後退。你有沒有試過'從t2選擇t2.col1,t3其中t2.col1 = t3.col1'用於你的室內選擇? –