Cela a peut-être déjà été demandé et je ne le trouve tout simplement pas.SQL Obtient des colonnes spécifiques d'une table et toutes les lignes d'une table jointe dans une requête
J'ai une relation de un à plusieurs dans la base de données sur quelques tables.
- table1
- table2
- table3
table2 - table3 est le 1-plusieurs
est ici une maquette de ce que j'ai:
select
table1.id
table1.Column
table2.Column2
-- I want all entries here from table 3 here as well
From table1 t1
left outer join table2 t2 on t2.ID = t1.ID
left outer join join table3 t3 on t3.ID2 = t2.ID2
Est il est possible de sélectionner également tous les e Les noms qui appartiennent à table3 dans cette requête sans spécifier une sous-requête dans l'instruction select?
Aussi, cela vous semble-t-il correct? Comme je l'ai dit dans le passé, je suis vraiment nouveau à SQL, donc mon code sucky ...
EDIT
Désolé les gars, je me suis trompé. J'ai besoin d'une seule colonne de chacune des lignes qui doivent être table3
select
table1.id,
table1.Column,
table2.Column2,
-- I'm going to need a subquery here aren't I...?
table3.columnFromRrow1,
table3.columnFromRrow2,
table3.columnFromRrow3
From table1 t1
left outer join table2 t2 on t2.ID = t1.ID
left outer join join table3 t3 on t3.ID2 = t2.ID2
De votre édition il ressemble maintenant Vous avez besoin d'un Pivot. Y a-t-il toujours 3 lignes dans la table 3? Quel RDBMS utilisez-vous? –
SQL Server 2005, je pense qu'il peut y avoir plus de 3 lignes, mais je ne suis pas sûr que cela m'importe. Le client a seulement demandé le top 3. – EJC
Top 3 classés par quoi? –