Comment sélectionner un enregistrement qui n'existe pas en affectant la valeur 0 [Résolu]

Signaler
Messages postés
22
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
2 mars 2014
-
Messages postés
22
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
2 mars 2014
-
Bonjour à tous
comment sélectionner un enregistrement qui n'existe pas en affectant la valeur 0 à chacun de ses attributs.
En fait, voici mon problème: je sélectionne suivant une condition des valeurs de "tsec" dans 6 tables différentes pour les afficher et il s'avère que la dernière table ne contient pas encore la ligne qui contient cette valeur et bloquant ainsi la procédure de sélection des autres valeurs qui pourtant sont disponible. J'aimerais savoir s'il y a un échappatoire.

Aidez moi svp!

LE MEC LE PLUS INC

5 réponses

Messages postés
22
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
2 mars 2014

Merci pmcoste pour ta réponse.elle n'a pas assuré à 100% mais par contre m'a inspiré à 200%.
Voici la solution qui marche:

<?php
$requete_tmoui = 'SELECT `psychrosoft`.`0`.tmoui,
`psychrosoft`.`3`.tmoui,
`psychrosoft`.`6`.tmoui,
`psychrosoft`.`9`.tmoui,
`psychrosoft`.`12`.tmoui,
`psychrosoft`.`15`.tmoui,
`psychrosoft`.`18`.tmoui,
coalesce(`psychrosoft`.`21`.tmoui, 0) as tmoui21
FROM `psychrosoft`.`0`
Left Join `psychrosoft`.`3` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`3`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`3`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`3`.annee
Left Join `psychrosoft`.`6` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`6`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`6`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`6`.annee
Left Join `psychrosoft`.`9` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`9`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`9`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`9`.annee
Left Join `psychrosoft`.`12` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`12`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`12`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`12`.annee
Left Join `psychrosoft`.`15` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`15`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`15`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`15`.annee
Left Join `psychrosoft`.`18` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`18`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`18`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`18`.annee
Left Join `psychrosoft`.`21` 
on `psychrosoft`.`0`.jour=`psychrosoft`.`21`.jour 
and `psychrosoft`.`0`.mois=`psychrosoft`.`21`.mois 
and `psychrosoft`.`0`.annee=`psychrosoft`.`21`.annee
WHERE `psychrosoft`.`0`.jour='.$res.'
AND `psychrosoft`.`0`.mois='.$lemois.'
AND `psychrosoft`.`0`.annee='.$lannee; 
?>


Une fois de plus merci

LE MEC LE PLUS INC
Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
La commende LEFT JOIN en SQL pour les jointures de table et colasce() pour la sélection de tes champs !

---------------------
Oderint dum metuant
Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
pardon, je voulais dire coalesce()

---------------------
Oderint dum metuant
Messages postés
22
Date d'inscription
vendredi 4 mai 2012
Statut
Membre
Dernière intervention
2 mars 2014

Excusez moi pmcoste, pouvez-vous me proposer un apercçu de l'utilisation de cette fonction coalesce() dans ma requête ci-dessous:
<?php
$requete_tmoui = "SELECT `psychrosoft`.`0`.tmoui,`psychrosoft`.`3`.tmoui,`psychrosoft`.`6`.tmoui,`psychrosoft`.`9`.tmoui,`psychrosoft`.`12`.tmoui,`psychrosoft`.`15`.tmoui,`psychrosoft`.`18`.tmoui,`psychrosoft`.`21`.tmoui 
                  FROM `psychrosoft`.`0`,`psychrosoft`.`3`,`psychrosoft`.`6`,`psychrosoft`.`9`,`psychrosoft`.`12`,`psychrosoft`.`15`,`psychrosoft`.`18`,`psychrosoft`.`21`
  WHERE `psychrosoft`.`0`.jour=$res 
  AND `psychrosoft`.`3`.jour=$res 
  AND `psychrosoft`.`6`.jour=$res 
  AND `psychrosoft`.`9`.jour=$res 
  AND `psychrosoft`.`12`.jour=$res 
  AND `psychrosoft`.`15`.jour=$res 
  AND `psychrosoft`.`18`.jour=$res 
  AND `psychrosoft`.`21`.jour=$res 
  AND `psychrosoft`.`0`.mois=$lemois 
  AND `psychrosoft`.`3`.mois=$lemois 
  AND `psychrosoft`.`6`.mois=$lemois 
  AND `psychrosoft`.`9`.mois=$lemois 
  AND `psychrosoft`.`12`.mois=$lemois 
  AND `psychrosoft`.`15`.mois=$lemois 
  AND `psychrosoft`.`18`.mois=$lemois 
  AND `psychrosoft`.`21`.mois=$lemois 
  AND `psychrosoft`.`0`.annee=$lannee
  AND `psychrosoft`.`3`.annee=$lannee
  AND `psychrosoft`.`6`.annee=$lannee
  AND `psychrosoft`.`9`.annee=$lannee
  AND `psychrosoft`.`12`.annee=$lannee
  AND `psychrosoft`.`15`.annee=$lannee
  AND `psychrosoft`.`18`.annee=$lannee
  AND `psychrosoft`.`21`.annee=$lannee";
$resultat_tmoui = mysql_query($requete_tmoui)or die ('requête non executée2 car'.mysql_error().'.');
$tmoui = mysql_fetch_row($resultat_tmoui);
?>


LE MEC LE PLUS INC
Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
$requete_tmoui = 'SELECT `psychrosoft`.`0`.tmoui,
`psychrosoft`.`3`.tmoui,
`psychrosoft`.`6`.tmoui,
`psychrosoft`.`9`.tmoui,
`psychrosoft`.`12`.tmoui,
`psychrosoft`.`15`.tmoui,
`psychrosoft`.`18`.tmoui,
coalesce(`psychrosoft`.`21`.tmoui, 0) as tmoui21
FROM `psychrosoft`.`0`
Join `psychrosoft`.`3` on `psychrosoft`.`0`.jour=`psychrosoft`.`3`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`3`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`3`.annee
Join `psychrosoft`.`6` on `psychrosoft`.`0`.jour=`psychrosoft`.`6`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`6`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`6`.annee
Join `psychrosoft`.`9` on `psychrosoft`.`0`.jour=`psychrosoft`.`9`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`9`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`9`.annee
Join `psychrosoft`.`12` on `psychrosoft`.`0`.jour=`psychrosoft`.`12`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`12`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`12`.annee
Join `psychrosoft`.`15` on `psychrosoft`.`0`.jour=`psychrosoft`.`15`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`15`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`15`.annee
Join `psychrosoft`.`18` on `psychrosoft`.`0`.jour=`psychrosoft`.`18`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`18`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`18`.annee
Left Join `psychrosoft`.`21` on `psychrosoft`.`0`.jour=`psychrosoft`.`21`.jour and on `psychrosoft`.`0`.mois=`psychrosoft`.`21`.mois and `psychrosoft`.`0`.annee=`psychrosoft`.`21`.annee
WHERE `psychrosoft`.`0`.jour='.$res.'
AND `psychrosoft`.`0`.mois='.$lemois.'
AND `psychrosoft`.`0`.annee='.$lannee;

---------------------
Oderint dum metuant