我有一个查询,我正在尝试获取查询的结果,查询可以有多行或者它可以为空,我正在尝试如果它是空的,它应该返回0为我正在寻找的列被称为sequence
我的查询是这样的:
select CASE WHEN COUNT(1) > 0 THEN 1 ELSE 0 END AS Sequence
from dbo.mytable
它返回1
或0
,对于1我希望该列应该返回值,或者它应该组合所有行并将该列的值作为列表返回{{{ 1}}
答案 0 :(得分:0)
这应该有用。
SELECT
CASE WHEN MY_COUNT > 0 THEN 1 ELSE 0 END AS SEQUENCE
FROM
(SELECT COUNT(*) AS MY_COUNT
FROM
DBO.MYTABLE);
答案 1 :(得分:0)
如果您只想在结果集中输入一行,只需执行以下操作:
select (case when count(*) > 0 then 1 else 0 end) as sequence
来自mytable;
如果您完全关心性能,那么效率更高的方法是:
select (case when exists (select 1 from dbo.mytable) then 1 else 0
end) as sequence