怎么写一个条件判断 SQL语句?
类似这样的
先where条件1
如果返回的记录数量是0,那么再where条件2
比如
--这样的语句
select top 1 score from table where sex='female'
--如果女的一个都没有,那么只好选男的。
……where sex='male'
--試試以下:
select top 1 score
from table
where sex=CASE WHEN EXISTS(SELECT * FROM TABLE WHERE sex='female') THEN 'female' ELSE 'male' end
DECLARE @s VARCHAR(max)
SET @s='select top 1 score from a where 1=1'
SELECT @s=@s+' and sex='+CASE WHEN (SELECT COUNT(1) FROM a WHERE sex='female')=0 THEN '''male''' ELSE '''female''' END
PRINT @s