verifier si une jointure existe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : verifier si une jointure existe

par Cyrano » 02 janv. 2006, 12:42

Tu pourrais peut-être modifier ta requête en faisant une jointure gauche comme ceci (à tester)
$query_rsCom = "SELECT commandes.ID, commandes.date, commandes.clientID, commandes.totalTTC, commandes.datelivraison, client_ID , clients.nom, clients.prenom, clients.societe, CMCICResultat.resultat, CMCICResultat.reference ".
               "FROM clients, commandes LEFT JOIN CMCICResultat ".
               "ON  commandes.ID = CMCICResultat.reference ".
               "WHERE client_ID = commandes.clientID ";
Dans ce cas, si une correspondance n'existe pas, tu auras une ligne avec une valeur NULL affichée. Il te restera donc à tester la valeur pour afficher ou non la ligne ou bien à ne récupérer que les lignes avec la valeur NULL...

par ouckileou » 02 janv. 2006, 12:39

Salut,

tu peux faire cela dans la même requête, avec une jointure externe.
Celle ci va combler les trous (là où il n'y a pas correspondances) avec une valeur NULL.

Tu peux regarder ici : http://www.laltruiste.com/document.php? ... terne.html

verifier si une jointure existe

par Gico » 02 janv. 2006, 12:10

Bonjour et bonne année!

J'aimerais savoir s'il est possible dans un requete de verifier si une jointure n'existe pas.
je precise :
mysql_select_db($database_sweetie, $sweetie);
$query_rsCom = "SELECT commandes.ID, commandes.`date`, commandes.clientID, commandes.totalTTC, commandes.datelivraison, client_ID , clients.nom, clients.prenom, clients.societe, CMCICResultat.resultat, CMCICResultat.reference FROM commandes, clients, CMCICResultat WHERE client_ID=commandes.clientID AND  commandes.ID=CMCICResultat.reference";
$query_limit_rsCom = sprintf("%s LIMIT %d, %d", $query_rsCom, $startRow_rsCom, $maxRows_rsCom);
$rsCom = mysql_query($query_limit_rsCom, $sweetie) or die(mysql_error());
$row_rsCom = mysql_fetch_assoc($rsCom);
là je sort toutes les entrées WHERE commandes.ID=CMCICResultat.reference.

J'aimerais créer une seconde requete qui me sorte toutes les entrées ou la jointure de commandes.ID avec CMCICResultat.reference n'existe pas (car l'entrée dans la table CMCICR n'a pas été crée).
En plus prosaique : je reprend la requete precedente avec WHERE client_ID=commandes.clientID AND " commandes.ID ne trouve pas de nombre egal dans CMCICResultat.reference".

Merci