jointure de plusieures tables

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 : jointure de plusieures tables

par pjl » 05 juil. 2005, 17:07

et évite le SELECT *.
Prend la peine de préciser les champs dont tu as besoin et uniquement ceux-ci.
Ce n'est pas la peine de ramener un même champ plusieurs fois.

par ouckileou » 05 juil. 2005, 16:48

bon ben je me suis trompé y'en a qui y arrive :lol:

par mere-teresa » 05 juil. 2005, 16:48

Juste un conseil :
-préfixe tes tables avec des alias (utilisateur_manager AS u)
- regarde la syntaxe de LEFT OUTER JOIN dans le manuel

par zeus » 05 juil. 2005, 16:46

Essaye les jointures

Code : Tout sélectionner

SELECT * FROM ((((hardware LEFT JOIN utilisateur_manager ON hardware.utilisateur_manager_id=utilisateur_manager.utilisateur_manager_id) JOIN model ON hardware.model_part_number=model.model_part_number) JOIN specialisation ON model.specialisation_id = specialisation.specialisation_id) JOIN marque ON marque.marque_id = model.marque_id) WHERE hardware_id = '".$hardware_id."'
JOIN va chercher la correspondance d'un champ dans l'autre champ
LEFT JOIN va afficher toutes les valeurs du champ de gauche et sa correspondance si elle existe, juste la valeur sinon

par ouckileou » 05 juil. 2005, 16:43

sans la structure de tes tables, une petite description de ce qu'elles contiennent et l'énoncé de ce que tu veux obtenir, ça va être difficile de t'aider

jointure de plusieures tables

par ruly » 05 juil. 2005, 16:19

hello,

la ca fait 3 heures ke je me prend la tete pour une petite jointure de table mais je n'y arrive pas.

je dois joindre 5 tables entre elles plus ou moins.

voila ma requete sql:

Code : Tout sélectionner

SELECT * FROM hardware, utilisateur_manager, model, specialisation, marque WHERE hardware_id = '".$hardware_id."' AND ((hardware.utilisateur_manager_id = utilisateur_manager.utilisateur_manager_id ) or (hardware.utilisateur_manager_id = '0') ) AND hardware.model_part_number = model.model_part_number AND model.specialisation_id = specialisation.specialisation_id AND marque.marque_id = model.marque_id
le soucy c entre la table hardware et utilisateur_manager. car il me resors tjrs le 1er de la table utilisateur_manager.

est ce que qqn voit d'ou vient l'erruer???

merci 'davance