Bonjour,
Soit les deux tables suivantes :
je souhaite créer une vue afin d'obtenir les tuples suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 table E NAME REF_F E1 F1 E2 F1 table F FLIGHT ROUTE F1 ABETI F2 GOL F3 RAMPAR
Ce qui me pose problème c'est bien entendu le champ NAME qui peut être nul.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 vue NAME FLIGHT ROUTE E1 F1 ABETI E2 F1 ABETI F2 GOL F3 RAMPAR
J'ai tant bien que mal trouvé cette requête:
mais 'select f.flight,f.route from e,f where e.ref_f=f.name' va être évalué deux fois, ce qui ne me parait pas performant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select e.name,f.flight,f.route from e,f where e.ref_f=f.flight union select '',flight,route from f where (flight,route) not in (select f.flight,f.route from e,f where e.ref_f=f.name );
Quelqu'un voit t'il une autre façon d'écrire cette requête ?
Merci
Partager