2010-10-31 4 views
0

Matin tous, Je cours SQL Server et il y a beaucoup de tables là-bas. J'ai pris une colonne de l'une de ces tables en utilisant SELECT, et cela me donne la liste des IDs. J'ai besoin d'utiliser ces identifiants comme point de recherche pour obtenir les données de cet ID à partir d'une autre table. Est-il nécessaire que je fasse un manouvre CREATE TABE?SQL créer une table et requête à partir de

J'espérais que je pouvais utiliser les données renvoyées de l'instruction SELECT d'origine sans avoir à mettre en place une nouvelle table ....

Vive.

Répondre

1

Vous pouvez utiliser une where ... in construction pour récupérer les lignes correspondantes de l'autre table:

select * 
from OtherTable 
where id in 
     (
     select id 
     from FirstTable 
     ) 
0

Vous pouvez utiliser quelques options, mais le plus typique serait de créer une table temporaire.

SELECT ID 
INTO #TempTable 
FROM table 
0

Vous pouvez également utiliser une jointure interne si vous avez besoin d'autres valeurs de la première table

select OtherTable.*, FirstTable.extrafield1, FirstTable.extrafield2 
from OtherTable 
inner join FirstTable on FirstTable.Id = OtherTable.FirstTableId 
Questions connexes