0

嗨,我怎样才能使这个查询工作。我想要 where 子句的条件,如果 @BACHNUMB = '',那么 WHERE 是 (h.sopnumbe = @SOPNUMBE) 否则 WHERE 是 (h.bachnumb = @BACHNUMB)。提前致谢。

WHERE
CASE(@BACHNUMB)
WHEN '' THEN (h.sopnumbe = @SOPNUMBE)
ELSE
(h.bachnumb = @BACHNUMB)
END
4

2 回答 2

4

只需通过不同的语法重新创建逻辑:

WHERE
(@BACHNUMB = '' AND h.sopnumbe = @SOPNUMBE) 
OR
(@BACHNUMB != '' AND h.bachnumb = @BACHNUMB)
END
于 2012-11-16T03:55:25.437 回答
2

(@BACHNUMB = '' and h.sopnumbe = @SOPNUMBE) or (@BACHNUMB != ' and 'h.bachnumb = @BACHNUMB)

于 2012-11-16T03:55:22.020 回答