Выберите фиктивные заголовки столбцов без записей - PullRequest
1 голос
/ 05 февраля 2020

Не могу поверить, что не могу понять это или найти что-нибудь связанное с этим. Я пытаюсь создать набор заголовков столбцов динамически, но без данных (как если бы это была пустая таблица).

SELECT Null AS [CODE], Null AS [DESC];

вернет

CODE        DESC
----------- -----------
NULL        NULL

, что близко, но мне нужно, чтобы в нем не было записей:

CODE        DESC
----------- -----------

Как лучше, я могу точно воспроизвести точное требование:

DECLARE @Table TABLE
(
    [CODE] bit NULL,
    [DESC] bit NULL
);

SELECT [CODE], [DESC]
FROM @Table;

С этим я буду go, если смогу ' Не найти ничего похожего, но это кажется слишком многословным для чего-то, что кажется тривиальным?

Ответы [ 3 ]

1 голос
/ 05 февраля 2020

Просто используйте условие false в предложении WHERE:

SELECT Null AS [CODE], Null AS [DESC]
WHERE 1=0

См. Демоверсию . Таким образом, вы можете передать любое значение в 2 столбца, а не только null.

1 голос
/ 05 февраля 2020
  SELECT null as [Code], null as [DESC]
  WHERE 1=2
1 голос
/ 05 февраля 2020

Попробуйте использовать CTE

WITH CTE AS(

 SELECT Null AS [CODE], Null AS [DESC]
)
SELECT * FROM CTE WHERE [CODE] IS NOT NULL AND [DESC] IS NOT NULL
...