Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Interroger le jeu de résultats d'une requête précédente

Il existe plusieurs façons de résoudre ce problème :

1 :créer une vue à partir de la première requête et exécuter la deuxième requête sur la vue.

2 :imbriquer les deux requêtes, comme ceci :

SELECT DISTINCT [Name]
FROM (
  SELECT [Name] 
  FROM table 
  WHERE some Criteria
) As InnerQuery

3 :utilisez une table temporaire pour stocker le jeu de résultats de la première requête comme suggéré par wewesthemenace dans le commentaires .

4 :utilisez CTE comme suggéré le thebreiflabb dans l'autre réponse à ce message.

Personnellement, j'opterais probablement pour la première ou la deuxième option, selon si vous devez également utiliser la première requête de manière autonome.