Salut
Voici une table:
Nous avons copier/coller des données depuis une table access. Il existe des personnes avec parents renseignés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 tpersonne(idpersonne int identity primary key, idpere int foreign key references tpersonne(idpersonne), --le père en auto jointure idmere int foreign key references tpersonne(idpersonne),--la mère en auto jointure prenom varchar(20), prenom varchar(20))
Nous voulons chercher les personnes n'ayant pas d'enfant. voici la requête:
...elle ne marche que si on remplace...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select idpersonne, prenom, nom from tpersonne where idpersonne not in (select idpere from tpersonne as papa union all select idmere from tpersonne as maman)
...dans les sous-requêtes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 idpere et idmere par isnull(idpere,0) et isnull(idmere,0)
Je voudrais comprendre pourquoi ce comportement? sachant que...
...pris à part donne bien des données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select idpere from tpersonne as papa union all select idmere from tpersonne as maman
Merci d'avance
Partager