Bonjour,

J'ai tenté de chercher sur le forum mais pas évident quand on ne sait pas soit même comment définir le problème :s

Je souhaiterais faire une jointure externe entre deux tables dont voici les structures imposées :

- individu (no_individu)
- telephone (id,no_individu,no_telephone,type,statut)

Dans la table téléphone il n'y a d'enregistrements que si l'individu n'a effectivement un téléphone. D'où mon commencement de piste vers une jointure externe.

De plus un même individu peut avoir plusieurs téléphones de type différent.
Par exemple, on aura :
individu n°4 avec un téléphone fixe 02xxxxxxxx.
individu n°4 avec un téléphone mobile 02xxxxxxxx
individu n°5 aucune téléphone

Du coup dans ma requête ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select *
from individu,telephone
where individu.no_individu=telephone.no_individu(+)
Jusque là ca marche, j'ai bien tout le monde avec ou sans numéro de téléphone
Mais quand je rajoute une condition supplémentaire, par exemple je ne veux que les téléphone fixes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select *
from individu,telephone
where individu.no_individu=telephone.no_individu(+)
and type='fixe'
Ca m'exclut tout ceux qui n'ont pas de téléphone.
J'ai essayé avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
and (type='fixe' or type is null)
Mais que nenni !

Pour info, je travaille sur Oracle 10g R2.

Merci d'avance si vous avez des pistes d'investigation.

Frédéric.