2009-04-08 6 views
0

Je veux ajouter le résultat de la requête dans le jeu de données, donc je peux écrire une nouvelle requête pour l'obtenir mais comment?comment puis-je ajouter le résultat de la requête dans le jeu de données sélectionner à nouveau la requête

requête d'origine:


MyDATASET=( 
select x, y,z from table1 
union all 
select k,l,m from table2 
) 
i wan to this select * from this.MyDATASET 
+0

je l'ai modifié !!! – Penguen

+0

mise à jour répondre pour illustrer ... –

Répondre

1

Eh bien, vous pourriez peut-être créer un CTE, UDF ou voir? Mais il est vraiment pas clair ce que vous essayez de faire ...

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 

etc

+0

Je pense qu'une vue est probablement ce que l'OP est après. –

+0

j'ajoute une nouvelle version – Penguen

+0

Merci beaucoup vous êtes correct et mon être génieux !!! – Penguen

0

En supposant que vous souhaitez mettre en cache des données pour une réutilisation ultérieure ...

Utilisez une table temporaire ou une variable de table si elle est contenue dans un bit de code.

Si vous souhaitez référencer les mêmes données dans plusieurs processus ou appels, utilisez une table temporaire. Utilisez une locale pour de nombreux appels mais ne fermez pas la connexion, utilisez une connexion globale pour de nombreux processus/connexions différents.

S'il s'agit d'un grand choix où vous souhaitez réutiliser les mêmes données, utilisez un CTE.

Une vue fonctionne également mais les données peuvent changer entre les exécutions.

Questions connexes