OVH Cloud OVH Cloud

Jointure et valeurs Null

5 réponses
Avatar
StarFab
Bonsoir,

Lorsque l'on fait une jointure entre 2 tables, les valeurs null sont toutes exclus car (Null = Null)
renvoit toujours "faux".
Mais je souhaite faire une jointure exprimant :
ChampA = ChampB (même si Null)

La jointure classique ne marche pas !
Savez vous comment faire ça au plus simple sous Access 2002 ?

Merci à tous,
Fab

5 réponses

Avatar
3stone
Salut,

"StarFab"
| Lorsque l'on fait une jointure entre 2 tables, les valeurs null sont toutes exclus car (Null = Null)
| renvoit toujours "faux".
| Mais je souhaite faire une jointure exprimant :
| ChampA = ChampB (même si Null)


?? Faire une jointure pas les Null ??

Je pense que tu veux cherche une jointure gauche...

Clique sur la relation, dans ta grille de requête et choisi l'option 2

"Tous de la table X qui contient le champA et seulement ceux...."


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
StarFab
Euh... je savais bien qu'il fallait que je formule bien ma question.
Non en fait je veux faire :
ChampA = ChampB (incluant les cas ChampA = ChampB = Null)

Merci,
Fabien

"3stone" a écrit dans le message de news:
Salut,

"StarFab"
| Lorsque l'on fait une jointure entre 2 tables, les valeurs null sont toutes exclus car (Null Null)
| renvoit toujours "faux".
| Mais je souhaite faire une jointure exprimant :
| ChampA = ChampB (même si Null)


?? Faire une jointure pas les Null ??

Je pense que tu veux cherche une jointure gauche...

Clique sur la relation, dans ta grille de requête et choisi l'option 2

"Tous de la table X qui contient le champA et seulement ceux...."


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
Salut,

"StarFab"
| Euh... je savais bien qu'il fallait que je formule bien ma question.

ben, j'suis dur de la feuille ;-)

| Non en fait je veux faire :
| ChampA = ChampB (incluant les cas ChampA = ChampB = Null)

comme critère d'une requête, ok

ChampA = ChampB Or Is Null

mais en tant que relation... ?¿?¿

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Sylvain Lafontaine
Premièrement, à l'évidence il y a une erreur de design dans votre système.

Deuxièmement: .... ON (ChampA = ChampB or (Champ A is Null and ChampB is
Null))

S. L.

"3stone" wrote in message
news:
Salut,

"StarFab"
| Euh... je savais bien qu'il fallait que je formule bien ma question.

ben, j'suis dur de la feuille ;-)

| Non en fait je veux faire :
| ChampA = ChampB (incluant les cas ChampA = ChampB = Null)

comme critère d'une requête, ok

ChampA = ChampB Or Is Null

mais en tant que relation... ?¿?¿

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw



Avatar
StarFab
Comme vous êtes vexant.... !
Et non il n'y a pas d'erreur de design ;=)
La base fonctionne correctement depuis 3 ans en maximisant l'espace et la performance par l'usage de
Null au lieu de "" ou tout autre caractère.
Mais aujourd'hui je dois faire une évolution. J'ai modifié la structure des tables et la jointure
dont je parle m'est nécessaire pour effectuer la migration des données des anciennes tables vers les
nouvelles table. C'est donc une jointue "one shot" qui ne reservira plus...

Sinon votre solution marche parfaitement.
Merci beaucoup !
Fab

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de
news:%
Premièrement, à l'évidence il y a une erreur de design dans votre système.

Deuxièmement: .... ON (ChampA = ChampB or (Champ A is Null and ChampB is
Null))

S. L.

"3stone" wrote in message
news:
Salut,

"StarFab"
| Euh... je savais bien qu'il fallait que je formule bien ma question.

ben, j'suis dur de la feuille ;-)

| Non en fait je veux faire :
| ChampA = ChampB (incluant les cas ChampA = ChampB = Null)

comme critère d'une requête, ok

ChampA = ChampB Or Is Null

mais en tant que relation... ?¿?¿

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw