Как я могу добавить результат выбора запроса в набор данных позже снова выберите запрос запуска - PullRequest
0 голосов
/ 08 апреля 2009

Я хочу добавить результат запроса select в набор данных, чтобы я мог написать новый запрос для его запуска, чтобы получить набор сетевых данных, но как?

Исходный запрос:


<b>MyDATASET=(</b>
select x, y,z from table1
union all
select k,l,m from table2
)
<b>i wan to this</b> select * from this.MyDATASET

Ответы [ 2 ]

1 голос
/ 08 апреля 2009

Ну, вы могли бы создать CTE, UDF или представление? Но на самом деле не ясно, что вы пытаетесь сделать ...

CREATE VIEW MyView AS
    select x, y,z from table1
    union all
    select k,l,m from table2
GO

SELECT * FROM MyView
SELECT * FROM MyView WHERE x = 0

и т.д.

0 голосов
/ 08 апреля 2009

Предполагая, что вы хотите кэшировать данные для повторного использования позже ...

Используйте временную таблицу или табличную переменную, если она содержится в одном бите кода.

Если вы хотите ссылаться на одни и те же данные в нескольких процессах или вызовах, используйте временную таблицу. Используйте локальный для многих вызовов, но не закрывайте соединение, используйте глобальный для многих различных процессов / соединений.

Если это просто один большой выбор, в котором вы хотите повторно использовать те же данные, используйте CTE.

Представление также работает, но данные могут меняться между выполнениями.

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