Triple jointure MySQL - SQL/NoSQL - Programmation
Marsh Posté le 17-12-2005 à 22:39:12
Je ferais plutôt :
Code :
|
Sino, ça serait mieux de remplacer * par la liste des champs que tu veux vraiment récupérer, ton GROUP BY par SELECT DISTINCT etablissements.id, et protège moi ces $_POST
Marsh Posté le 17-12-2005 à 23:30:17
Super, ca marche ! Merci beaucoup.
Sinon le * et ne pas faire '".$_POST["blabla"]."' c'etait juste pour rendre moins brouillon le truc
Merci beaucoup.
Marsh Posté le 17-12-2005 à 18:15:48
Bonjour,
Bien qu'ayant lu d'autres sujets sur le forum concernant des jointures triples en SQL, je n'arrive toujours pas à faire la mienne.
Je vous expose mon probleme :
J'ai trois tables, l'une contenant des informations d'établissements (nom, adresse, téléphone...) une deuxieme qui contient les catégories d'etablissements (restaurants, bars, disquaires...) ainsi que des sous catégories (restaurant > asiatique, italien...) et enfin une table qui lie les etablissements aux catégories. Donc par ca donne :
etablissements
---------------
id
nom
adresse
codepostal
ville
...
categories
-----------
id
categorie (son nom)
id_sup (0 si il s'agit d'une categorie principale, par exemple restaurants)
type
-----
id_etab
id_cat
Le but de mon script (PHP) est de rechercher des etablissements. Il y a un input pour mettre des mots clés (a ce moment on ira chercher dans le nom, l'adresse, la ville... de l'établissement) et un menu déroulant avec toutes les catégories et sous catégories.
Pour l'instant ma requete (qui ne renvoit pas d'erreur, mais qui ne fonctionne pas correctement pour autant) est ainsi :
SELECT * FROM type INNER JOIN etablissements ON [tous les champs de recherches possibles avec les mots clés] INNER JOIN categories ON (categories.id = $_POST["categorie"] OR categories/id_sup = $_POST["categorie"] GROUP BY etablissements.id
Dans le résultat de la requete, c'est comme si je ne stipulait aucune catégorie.
Quelqu'un pourrait-il m'aider ?
Je vous remercie d'avance !
Gadro