Bonjour,

j'aurais besoin d'une aide pour une requête particulière. Je n'ai pas trouvé de solution et j'avoue sécher.

Je veux ramener des informations de deux tables possédant un même champ sur une ligne par valeur de clé (dans l'exemple, les clés sont CA et CB)
Un produit cartésien ne convient pas, ni des Inner join.

Voici mes tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
with ta as (
select 'c1' as ca, 'v1' as va from dual union all
select 'c1' as ca, 'v2' as va from dual union all
select 'c1' as ca, 'v3' as va from dual union all
select 'c2' as ca, 'v8' as va from dual ),
tb as (
select 'c1' as cb, 'w1' as vb from dual union all
select 'c2' as cb, 'w2' as vb from dual union all
select 'c2' as cb, 'w3' as vb from dual union all
select 'c3' as cb, 'w8' as vb from dual )
select * from ta, tb
Table ta
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
CA VA
-- --
c1 v1 
c1 v2 
c1 v3 
c2 v8
Table Tb
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
CB VB
-- --
c1 w1 
c2 w2 
c2 w3 
c3 w8
Le nombre de lignes pour une même valeur de clé n'est pas le même dans les deux tables et aucune des deux tables n'est considérée comme principale.

J'aimerais obtenir le résultat suivant, via une seule requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CA_CB VA VB
----- -- --
c1    v1 w1 
c1    v2    
c1    v3    
c2    v8 w1 
c2       w2 
c2       w3 
c3       w8
Merci pour votre aide.