2014-05-17 5 views
1

J'ai une table T1, qui contient les colonnes (A, B, C, D) dans lesquelles A est PK.Requête SQL, Obtenir des données à partir de plusieurs tables et résultat de la requête

Et j'ai encore quelques tables. Et je veux obtenir des données de ces tables. Je reçois les données selon ma requête SQL à partir de ces tables. requête SQL (query1) est la suivante

select t3.col1 as A, t3.col4 as F, t4.col as H 
from t3, t4 
where t3.col1 = t4.col2; 

Maintenant Je veux obtenir des données du tableau T1 et avant le résultat query1.

select B , C , D , F, H 
from T1, Temp 
where t1.A = Temp.A; 

où Temp correspond au résultat de la requête SQL1 ci-dessus.

Comment puis-je y parvenir?

Toutes les suggestions.

Répondre

0

Je suggère d'utiliser jointure explicite comme dans:

select t1.B, t1.C, ..., t3.col1 as A, t3.col4 as F, t4.col as H 
from t3 
join t4 
    on t3.col1 = t4.col2 
join t1 
    on t1.A = t3.col1; 
0

essayer cette

SELECT t1.B as B, t1.C as B, t1.D as D, t3.col4 as F, t4.col as H 
FROM t1, t3, t4 
WHERE t1.A=t3.col1 AND t3.col1=t4.col2 
+0

query1 peut être n'importe quelle autre requête, aller chercher des données à partir de plusieurs tables, ici j'ai montré seulement 2 tables. – atulya

0

utilisation jointure interne

considèrent cette exapmle

permet de dire que deux tables Le premier est "Orde r » et 2 est "Client"

SELECT Orders.OrderID (nom_table.nom_colonne), Customers.CustomerName (nom_table.nom_colonne), Orders.OrderDate (nom_table.nom_colonne) FROM Commandes (1er nom_table) INNER JOIN Clients (2nd nom_table) ON Orders.CustomerID = Customers.CustomerID (Doit correspondre au champ correspondant pour la jointure);

Questions connexes