状況:
- 私は2つのテーブルを持っています
- テーブル 1 には常にレコードがあります
- 表 2 は select ステートメントの結果であり、レコードがある場合とない場合があります。
望ましい結果:
テーブル 2 に任意のレコードがある場合、テーブル 1 の一致するレコードのみが必要です。それ以外の場合は、テーブル 1 のすべてのレコードが必要です。
私はこれを行うことができることに気づきました:
DECLARE @count int
SELECT @count=COUNT(*) FROM Table2
IF @count>0
SELECT t1.* FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id=t2.id
ELSE
SELECT * FROM Table1
IF
ただし、可能であれば、ステートメントを避けようとしています。
それは可能ですか?