2012-02-17 11 views
0

私は、ストアドプロシージャと、それぞれのサブクエリを微調整しています(少なくとも動作するように見えます)。私はいくつかの異なる方法を試しましたが、私はそれがすべきだと思ったほど簡単ではありません。私は無効な関係演算子を取得し続けます。これは簡単にしようとすると、私はちょうど試み続けるように教えてください。2つのWhere/And句を同じサブクエリに結合するにはどうすればよいですか?

以下の2つの比較を組み合わせたいが、正しい構文が見つからない。私はこれまでずっと試したことを列挙します。事前のおかげで、私がこれまで試したどのような

WHERE T.Column_Name = (...Subquery) 
AND S.Column_Name = (...Subquery) --same subquery as above 

はこの線に沿って変形

WHERE (T.Column_Name AND S.Column_Name) = (...Subquery) 
WHERE (T.Column_Name, S.Column_Name) ... 
WHERE (T.Column_Name AND S.Column_Name = (...Subquery)) 

は、任意のヘルプは大幅に

+0

クエリはスカラーサブクエリですか、つまり1行だけの1列だけを返しますか?あなたの最初のコード片はOKと思われるので、サブクエリがスカラーでないかもしれないと仮定します。 –

答えて

3

を高く評価されている列の場合

WHERE T.Column_Name = (...Subquery) AND T.Column_Name = S.Column_Name 
+0

いくつかの簡単なテストでは、パフォーマンスが約1〜2秒向上していることがわかります。ご協力いただきありがとうございます。 – dee

2

をお試しくださいテーブルTとSは同じサブクエリ結果と等しくなければなりませんが、おそらくジョイン条件のカラムになります。したがって、次のようなものを試すことができます。

WHERE t.column_name = s.column_name 
    AND t.column_name = (subquery) 
+0

ああ、私は入力するのが遅かった... :-) –

+0

両方のクイック返信は確かに働いてくれてありがとう。私はそれがどれほどの違いをもたらすかを見るために、事前のパフォーマンスをテストしています。 – dee

関連する問題