Bonjour,
Je fais une requête où certain champs peuvent avoir des données où être vide. J'aimerais que les records avec des champs vide me soit également retourné. Qu'est ce que l'on mets dans les critères et doit on utiliser le Ou également.
Merci
Version imprimable
Bonjour,
Je fais une requête où certain champs peuvent avoir des données où être vide. J'aimerais que les records avec des champs vide me soit également retourné. Qu'est ce que l'on mets dans les critères et doit on utiliser le Ou également.
Merci
Salut,
en principe un champ vide prend la valeur NULL
dans ton filtre tu peux donc ecrire Est NULL si tu veux filtrer sur les enregistrements dont le champs est "vide" :)
Dans ce cas, tu ne mets aucun filtre =]
donc il faut ajouter "ou est null"
Vous nous parlez je ne sais pas combien de fois de votre requete mais nous ne la connaissons pas.
si le champs chp contient "a", "b" ou rien :
Jean philippe andré vous dit de ne pas filtrer sur chp, ainsi vous aurez les trois. Cela m'a l'air le plus confirme à votre demande.
Si vous voulez plusieurs des possibilités mais pas toutes, il faut les lister : ... where chp = 'a' or chp is null
Il peut aussi vous manquer des enregistrements si vous faites une jointure dans votre requête, à vous de bien regarder les divers types de jointure et de bien choisir la votre.
En tout cas, relisez vous, vous verrez qu'on n'a aucun élément pour savoir ce que vous souhaitez, il faut deviner.
Ce que je devine aussi, c'est que vous ne savez pas que NULL n'est pas une valeur, vous ne pouvez pas obtenir d'égalité entre deux informations toutes deux à null.
Si vous avez a et null dans table1 et a et null dans table2, "from table1 inner join table2 on table1.ch1 = table2.ch1 and table1.ch2=table2.ch2" ne vous retournera pas votre enregistrement. Les deux ch2 seront tous deux à null mais ne seront pas égaux pour autant.
Puisque je viens de faire le copier coller pour un autre sujet, j'en profite pour le mettre ici tant qu'il est en mémoire : http://sqlpro.developpez.com/cours/null/