Re : Bug de jointure externe (anciennement « C'est incroyable »)
Posted in 1995
Translated from English by DrWatson — View original
> J'ai récemment été « piégé » par un problème de jointure externe Informix > sous la V4.0 — je ne sais pas s'il s'agit d'un bug ou si cela est géré > différemment dans les versions plus récentes. J'essayais d'utiliser une > jointure externe pour trouver les clés de la table « B » qui n'existaient > pas dans la table « A », sans utiliser NOT IN ni NOT EXISTS. La requête > ressemblait à peu près à ceci : > > select A.colA, B.colB from B, outer A > where A.colA = B.colB and A.colA is null; > > Le problème se situe dans la partie « A.colA is null » : la requête renvoie > à la fois les lignes de la jointure normale et les lignes externes, mais > colA est null pour TOUTES les lignes renvoyées ! Si colA n'était pas null pour toutes les lignes renvoyées, il y aurait effectivement un bug. Dans votre instruction select, vous avez explicitement demandé uniquement les lignes où colA est null. Bien entendu, cela signifie que colB serait NULL également. perplexe j. _____________________________________________________________________________ Jack Parker - Hewlett Packard, BSMC Boise, Idaho, USA jparker@hpbs3645.boi.hp.com _____________________________________________________________________________ « Une chose est plus grande quand elle est partagée » - proverbe gaélique _____________________________________________________________________________ Les opinions exprimées ici sont les miennes et non celles de mes employeurs. _____________________________________________________________________________