Requete multitable clause WHERE
Résolu/Fermé
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
27 janv. 2014 à 04:03
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 28 janv. 2014 à 21:04
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 28 janv. 2014 à 21:04
A voir également:
- Requete multitable clause WHERE
- Where to download bulluduck42793 - Forum Virus
- Requête sql pix - Forum Python
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Erreur de requete facebook - Forum Facebook
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de pomme mais pas de pomme de terre ? - Forum Thunderbird
3 réponses
Salut, il faut utilise OR(OU) pour ajouter une autre clause.
Ne confondez pas SQL et PHP, sachez différencier les 2, le mieux étant de tester directement vos requêtes sur le serveur de la bases de données(d'où l'intérêt de pas confondre PHP et SQL qui sont mus par 2 serveurs fonctionnant ensemble mais 2 serveurs différents); pour tester soit par la console ou en utilisant le panneau de configuration(comme quand vous avez fait vos tables) d votre BDD(compris dans easyphp et wamp).
Voici un cours sur ce langage simple: SQL et le point précis que vous demandez:
http://sql.sh/cours/where/and-or
OU = indique une condition(clause WHERE 'OU' une autre) et AND indique que plusieurs conditions doivent être remplies(CLAUSE WHERE 'ET').
En français la logique du langage est identique:
Si vous avez lu et avez comprit(les 2 conditions doivent être vraies)
Si vous modifiez votre fichier php ou essayer dans la console(l'un ou l'autre)
Ne confondez pas SQL et PHP, sachez différencier les 2, le mieux étant de tester directement vos requêtes sur le serveur de la bases de données(d'où l'intérêt de pas confondre PHP et SQL qui sont mus par 2 serveurs fonctionnant ensemble mais 2 serveurs différents); pour tester soit par la console ou en utilisant le panneau de configuration(comme quand vous avez fait vos tables) d votre BDD(compris dans easyphp et wamp).
Voici un cours sur ce langage simple: SQL et le point précis que vous demandez:
http://sql.sh/cours/where/and-or
OU = indique une condition(clause WHERE 'OU' une autre) et AND indique que plusieurs conditions doivent être remplies(CLAUSE WHERE 'ET').
En français la logique du langage est identique:
Si vous avez lu et avez comprit(les 2 conditions doivent être vraies)
Si vous modifiez votre fichier php ou essayer dans la console(l'un ou l'autre)
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
27 janv. 2014 à 04:32
27 janv. 2014 à 04:32
Je te remercie.
Ici la clause ne change pas.
Je souhaite qu'un champs supplémentaire d'une autre table apparaisse dans le résultat de la requête.
Ici la clause ne change pas.
Je souhaite qu'un champs supplémentaire d'une autre table apparaisse dans le résultat de la requête.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
28 janv. 2014 à 21:04
28 janv. 2014 à 21:04
Polux31 m'a donné la bonne solution, mais je n'arrive à placer DISTINCT pour supprimer les doublons du code_client. Une idée ? Merci.
27 janv. 2014 à 04:36
WHERE (où est en français) indique sur quelles table(s) vous faites les requêtes.
SELECT * FROM table 'bidule', 'machin' WHERE 0=0;
Ici ceci est traduit par: Afficher tout (SELECT *) des tables(FROM) bidule et machin('bidule', 'machin') où la condition suivante est vraie(WHERE). zéro étant toujours égal à 0 la condition sera toujours vraie et le résultat de la requête est simplement tout le contenu des tables bidule et machin.
Bref vous avez besoin de potasser le langage SQL qui est simple(voire simpliste; SQL est un langage de bas niveau, très peu permissif, très peu d'instructions mais en contrepartie rapide et facile à exécuter et comprendre) en commençant par la base: l'écriture d'une requête simple puis compléter en utilisant les alias, jointures de tables, sous-requêtes et faisant le tour de la petite dizaine d'instructions logiques du langage.
Modifié par maxireussite le 27/01/2014 à 04:49
Qu'il y ait une ou dix tables la condition ne change pas.
Mon problème est comment dire à la même requête que je souhaite aussi afficher un champs supplémentaire d'une autre table.
27 janv. 2014 à 09:51
Il faut que code_client soit une clé primaire dans la table àc_client et clé étrangère dans la table oc_aexpedier.
$requete = mysql_query("SELECT c.nom, c.code_client, a.apayer_id FROM oc_clients As c, oc_aexpedier As a WHERE c.code_client = a.code_client AND
a.reexpedie = '0' ORDER BY code_client ASC)");
Modifié par maxireussite le 27/01/2014 à 21:13
Je teste cela, et je dis ce qu'il en est.
C le cas pour la clé primaire dans oc_clients et clé étrangère dans oc_aexpedier.
27 janv. 2014 à 23:38
Merci bcp Polux31, juste une chose, je n'ai pas réussi à placer DISTINCT pour supprimer les doublons du code_client. Une idée ?