Bonjour a tous,
J'ai un probleme sur lequel je m'arrache les cheveux, je vous l'explique. Voici la premiere requete, elle fonctionne tout a fait bien, elle a pour but de trouver des gens qui sont assurés sur une certaines periodes avec un numero d'adherent et sur un certain contrat. La requete retourne deux resultats, normal...
SELECT nom
FROM `assures`
JOIN `beneficiaires`
ON `assures`.`n_adherent` =`beneficiaires`.`n_adherent`
WHERE `beneficiaires`.`date_depuis_beneficiaire` <= '2006-09-25'
AND (`beneficiaires`.`date_jusque_beneficiaire` > '2006-09-25'
OR `beneficiaires`.`date_jusque_beneficiaire` = '0000-00-00')
AND `assures`.`n_contrat_assure` = '11543/201'
AND `assures`.`n_adherent` = 'MAI33398';
Il y a deux tables, la table des assurés, contantn les assures et la table des beneficiaires contenant les beneficiaires de ces assurés les enfants, conjoints...)
Voici maintenant une seconde requete qui elle ne retourne aucun resultat et donc la difference avec la premiere requete est juste le retrait de la condition:
AND `assures`.`n_adherent` = 'MAI33398';
voici donc la requete:
SELECT nom
FROM `assures`
JOIN `beneficiaires` ON `assures`.`n_adherent` = `beneficiaires`.`n_adherent`
WHERE `beneficiaires`.`date_depuis_beneficiaire` <= '2006-09-25'
AND ( `beneficiaires`.`date_jusque_beneficiaire` > '2006-09-25' OR `beneficiaires`.`date_jusque_beneficiaire` = '0000-00-00' )
AND `assures`.`n_contrat_assure` = '11543/201'
Ceette requete au lieu de ne pas renvoyer de resultats devrait au contraire en renvoyer autant ou d'avantage que la premiere requete, hors elle ne renvoit rien et en me sort pas d'erreur. Je ne comprend pas, mon collegue non plus ne comprend pas, j'espere que vous saurez m'apporter des elements de reponses parce que la on nage et on a un client qui ne comprend pas pourquoi on ne peut pas calculer ce qu'il veut et qui commence a s'impatienter.
La version de notre mysql est la version 4.1.13.
Un grand merci d'avance!!!
Afrique
Partager