2016-10-11 3 views
1

に外側のクエリからサブクエリに列名を渡すために、私はTeradataの中に同じコンセプトを実装しようとしただから、TSQLでのTeradata

select * from tbl1 a 
where a.key1 = (select b.key1 from tbl2 b where a.key1 = b.key1 and a.key2 = b.key2) 

のようなものが、運を行うことができますどのように。どのように私はteradataでこれを行うことができますか?

+0

は、あなたが実際にSQLを表示することができますか?もちろん、Correlated SubqueryはTeradataの有効な構文です。 – dnoeth

答えて

1

WHERE EXISTSを使用してみてください:

SELECT * 
FROM tbl1 a 
WHERE EXISTS (SELECT b.key1 FROM tbl2b WHERE a.key1 = b.key1 AND a.key2 = b.key2) 

あなたはまた、結合を使用して、あなたが望む結果を得る可能性があります:

SELECT a.* 
FROM tbl1 a 
INNER JOIN tbl2 b 
    ON a.key1 = b.key1 
WHERE a.key2 = b.key2 
+0

2番目のクエリでは、OPの初期クエリと同等であるために、 "*"だけではなく "a。*" – Insac

関連する問題