Запустить два оператора выбора в одном представлении? - PullRequest
0 голосов
/ 17 мая 2018

У меня есть несколько SQL, которые разбиты на два оператора SELECT.Первый оператор SELECT вставляет результаты в временную таблицу.Второй оператор SELECT - это COALESCE, который считывает данные из временной таблицы, в которую вставлены первые данные.Мне нужно иметь возможность запускать их вместе (один за другим) и, к сожалению, я не могу поместить их в хранимую процедуру из-за старого инструмента отчетности, который использует моя компания.Инструмент отчетности должен читать из ВИДА или ТАБЛИЦЫ.Я хотел поместить их в VIEW, но исследовал, что представление не может иметь более одного SELECT.Есть идеи и примеры, как это сделать?Мой оригинальный пост / решение, показывающее, что SQL находится в этом посте .

1 Ответ

0 голосов
/ 17 мая 2018

Выбор временной таблицы может быть преобразован в CTE (предложение With), а во 2-й части - запрос выбора представления.

В качестве альтернативы вы можете просто вставить его с помощью подвыборов, но в зависимости от сложности, что может усложнить его обслуживание.

CREATE VIEW yourView AS
WITH myFirstSelect(someFields) AS
(
    SELECT somefields FROM sometable
)
SELECT * from myFirstSelect

Документы: https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql?view=sql-server-2017

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...