-2

私は3つのテーブルを持っています。t1、t2、t3。t2、t3 の間で共通の値を取得し、t1 からレコード全体を選択したいと考えています。次のようにステートメントを入力すると:

select * from db.t1 where col1 
IN (
select col1 from t2 , t3
where t2.col1=t3.col1);

構文エラーが発生します。なにが問題ですか ?

4

3 に答える 3

0

よくわかりませんが、カプセル化された col1 の名前を変更する必要があるかもしれません:

select * from db.t1 where t1.col1 
IN (
select col1 as col1bis from t2 , t3
where t2.col1 = t3.col1);
于 2012-08-26T07:33:29.840 に答える
0

これ:

where col1.t2=col1.t3);

次のようにする必要があります。

where t2.col1=t3.col1);
于 2012-08-26T07:32:31.963 に答える
0

t2.col1=t3.col1 (示されているように、col1.t2=col1.t3 ではなく) をテストしていると仮定すると、もう 1 つの問題は、内側の SELECT での col1 のあいまいさです。

于 2012-08-26T07:33:16.807 に答える