возвращая значения столбца в виде списка или 0 - PullRequest
0 голосов
/ 07 июня 2018

У меня был запрос, в котором я пытаюсь получить результаты запроса, запрос может иметь несколько строк или он может быть пустым, я пытаюсь, если он пустой, он должен вернуть мне 0 для столбца, который я ищукоторый называется sequence

Мой запрос выглядит так:

select CASE WHEN COUNT(1) > 0 THEN 1 ELSE 0 END AS Sequence
            from dbo.mytable

возвращает мне либо 1, либо 0, для 1 я хочу, чтобы этот столбец возвращал менязначения или он должен объединить все строки и вернуть мне значение этого столбца в виде списка, как 1,2,3,4,5,6,7

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Если вы хотите, чтобы в наборе результатов была только одна строка, просто выполните:

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
0 голосов
/ 07 июня 2018

Это должно работать.

SELECT 
CASE WHEN MY_COUNT > 0 THEN 1 ELSE 0 END AS SEQUENCE
FROM
(SELECT COUNT(*) AS MY_COUNT
FROM
DBO.MYTABLE);
...