2013-04-26 5 views
1

Je les tableaux suivants:Association et association à une requête?

Tableau 1:

A B C 
1 2 3 
2 4 6 
3 6 9 

Tableau 2:

A B C 
4 8 12 
5 10 15 
6 12 18 

Table3:

A D 
2 X 
4 Y 
6 Z 

J'ai besoin d'une requête qui donne:

A B C D 
1 2 3 
2 4 6 X 
3 6 9 
4 8 12 Y 
5 10 15 
6 12 18 Z 

Est-ce possible?

je peux le faire en 2 requêtes, mais la personne que je le fais pour elle veut en 1.

Merci!

Répondre

3

Essayez ceci (par exemple sur sqlfiddle):

SELECT x.a, x.b, x.c, d 
FROM (
    SELECT a, b, c FROM table1 
    UNION ALL 
    SELECT a, b, c FROM table2 
) x 
LEFT JOIN table3 ON (table3.a = x.a) 
+0

Merci. Mais j'ai peur que Frank ait battu de 2 minutes! –

+0

@DazedandConfused: En fait, j'ai répondu 3 minutes avant Frank;) J'ai juste ajouté le lien à SQLFiddle par la suite. –

+1

C'est vrai - Peter était plus rapide. Upvoted. –

2

Bien sûr:

select v1.*, table3.d 
from 
    (select table1.a, table1.b, table1.c 
    from table1 
    union all 
    select table2.a, table2.b, table2.c 
    from table2 
) v1 
left join table3 on v1.a = table3.a 
+0

Parfait - merci beaucoup. –