【发布时间】:2009-11-02 21:21:50
【问题描述】:
我有一个 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
这个语法是错误的,我希望有人能指出我正确的方向。谢谢。
【问题讨论】:
-
你想对查询做什么?
-
如果用户传入@MustHavePicture=1,那么我只想返回有图片的列表。如果用户传入@MustHavePicture=0,那么无论是否有图片,我都想返回所有列表
标签: sql sql-server tsql case