8791 sujets

Développement web côté serveur, CMS

Salut à tous,

Je viens de voir un truc absolument hallucinant.

Je fais la requette suivante :

(SELECT id_cargo,id_agence,id_societe,periode FROM donnees d2 WHERE d2.periode='09-2010' AND d2.id_cargo='060')


Voici les résultats :


id_cargo 	id_agence 	id_societe 	periode
060   	010 	NULL 	09-2010
060   	010 	NULL 	09-2010


Le hick ?

Mon index =>

index1	BTREE	Oui	Non	(c'est a dire : "nom,type,unique,compréssé). 

id_cargo	0	A	YES	
id_societe	0	A	YES
periode	0	A	YES
id_agence	0	A	


On voit donc mon index unique qui n'est apparement pas suivi. J'ai poussé le vice en faisant un DISTINCT sur chaqu'un de mes champs de la requette (en conservant le where) et a chaque fois je n'obtient qu'un seul résultat.

Plutôt étrange non ?

EDIT : "Bon je sais maintenant que c'est le NULL qui pose le problème mais j'aimerais bien comprendre pourquoi. Donc si quelqu'un à une idée".
Modifié par ffwrude (22 Dec 2010 - 11:09)