Rechercher : dans
Par :

[mysql] jointure 3 tableau

Dernière réponse le 12 avr 2009 à 20:03:38 roy mustang, le 12 avr 2009 à 01:10:56 
 Signaler ce message aux modérateurs

Bonjour,
j'ai essayé de faire une jointure entre 3 tableaux

$requete="select * from type_matiere_premiere,matiere_premiere where type_matiere_premiere.code_mat_pre=matiere_premiere.code_mat_pre as matiere_type_matiere";
$result=mysql_query($requete)OR die(mysql_error());
$requete2="select * from matiere_type_matiere,entree_stock where entree_stock.code_mat_pre=matiere_type_matiere.code_mat_pre";
$result2=mysql_query($requete2)OR die(mysql_error());

et voici l'erreur qui est survenu
Something is wrong in your syntax près de 'as matiere_type_matiere' à la ligne 1

avez vous une idée comment dois je procéder??? merci
Configuration: Windows XP
Firefox 3.0.8

Meilleures réponses pour « [mysql] jointure 3 tableau » dans :
Envoyer de gros fichiers (pièces jointes) par mail VoirLes systèmes de messagerie bloquent généralement les pièces jointes volumineuses, alors comment faire parvenir un fichier lourd (de plusieurs Mo) à son destinataire ? La solution consiste à utiliser un service d'hébergement temporaire de fichiers...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
MySQL - Installation sous Windows VoirPrésentation de MySQL MySQL est un Système de Gestion de Bases de Données (SGBD) fonctionnant sous Linux et Windows. Depuis la version 3.23.19, MySQL est sous Licence GPL (aussi bien sous Linux que Windows), ce qui signifie qu'il peut être utilisé...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...

1

boromir72, le 12 avr 2009 à 09:00:12

Bonjour,

A mon avis, il faut que tu enlève la clause "as matiere_type_matiere" dans la première requête car ce genre de clause se place plutôt dans la rubrique "From" de la requête.

Je te conseillerais de faire tout ça en une seule requête :
$requete="select * from type_matiere_premiere,matiere_premiere, entree_stock
where
type_matiere_premiere.code_mat_pre=matiere_premiere.code_mat_pre
and
entree_stock.code_mat_pre=matiere_premiere.code_mat_pre
";

Normalement, ça devrait passer ...

Répondre à boromir72

2

roy mustang, le 12 avr 2009 à 13:01:54

Bonjour j'ai essayé déjà avec cette forme et ça ne marche toujours pas!!!!!!!!!

Répondre à roy mustang

3

boromir72, le 12 avr 2009 à 14:09:15

Il te met quoi comme message d'erreur avec cette deuxième requête ?

Répondre à boromir72

4

roy mustang, le 12 avr 2009 à 18:05:01

Pas de message d'erreur rien n'apparait tout simplement !!!!!!!!

Répondre à roy mustang

5

 boromir72, le 12 avr 2009 à 20:03:38

Y a-t-il effectivement des liens entre ces trois tables ?
Chaque table contient-elle au moins un enregistrement avec la même valeur pour code_mat_pre ?
Par exemple, si un code_mat_pre = 1, il faut au moins un enregistrement pour lequel code_mat_pre vaut 1 dans type_matiere_premiere ET matiere_premiere ET entree_stock.
Sinon, le résultat est effectivement vide.

C'est bien ça que tu veux ?

Répondre à boromir72