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

Résolu
rustaflyx Messages postés 23 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 12 mars 2021 - 9 mai 2012 à 13:32
rustaflyx Messages postés 23 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 12 mars 2021 - 9 mai 2012 à 20:48
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

rustaflyx Messages postés 23 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 12 mars 2021
9 mai 2012 à 20:48
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
3
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
9 mai 2012 à 15:25
La commende LEFT JOIN en SQL pour les jointures de table et colasce() pour la sélection de tes champs !

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

---------------------
Oderint dum metuant
0
rustaflyx Messages postés 23 Date d'inscription vendredi 4 mai 2012 Statut Membre Dernière intervention 12 mars 2021
9 mai 2012 à 18:35
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
9 mai 2012 à 19:56
$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
0
Rejoignez-nous