サブクエリ内の行の存在をチェックするWhere句がありますが、ビットが1に設定されている場合にのみ、そのチェックを実行したいと思います。たとえば、次のようになります。
Select * from Listing l
Where
l.IsDeleted=1
AND CASE WHEN @MustHasPicture = 1 THEN
(
EXISTS
(
SELECT NULL AS [EMPTY]
FROM [dbo].[ListingPictures] AS [lp]
INNER JOIN Listing l ON lp.ListingID=l.ID
)
)
ELSE 1 END = 1
この構文は間違っており、誰かが私を正しい方向に向けてくれることを望んでいます。ありがとう。