begin process at 2012 05 26 17:04:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

INNER JOIN en cascade


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

INNER JOIN en cascade

vendredi 2 janvier 2009 à 12:41:18 | INNER JOIN en cascade

elfifie

Voila mon problème :
Je dispose de :
 - 1 table Utilisateur contenant Nom et Adresse
 - 1 table Achat contenant Nom et Id_Facture
 - 1 table Facture contenant Id_Facture et Date
 - 1 table CompoFacture contenant Id_facture et Id_LigneFacture
 - 1  table LigneFacture contenant Id_LigneFacture et ElementAchete

Je dois récuperer des infos sur l'ensemble de ces tables, j'ai un probleme avec le from et les inner join.
Voila ce que j'ai :
FROM LigneFacture INNER JOIN CompoFacture ON  LigneFacture.ID_LigneFacture = CompoFacture.ID_LigneFacture
INNER JOIN Facture ON CompoFacture.ID_Facture = Facture.ID_Facture
 INNER JOIN Achat ON  Facture.Id_Facture =Achat.ID_Facture)
INNER JOIN Utilisateur ON Achat.Nom=Utilisateur.Nom;

ça me retourne une erreur : "erreur de syntaxe(operateur absent)"
Est-ce que c'est un problème de parenthese? Comment les mettre?
vendredi 2 janvier 2009 à 14:01:55 | Re : INNER JOIN en cascade

nhervagault

Administrateur CodeS-SourceS

Salut,

Oui il semble manquer une paranthese.
En plus les tables sont dans le mauvais ordre
il faut les prendre dans un ordre logique
sinon tu vas te retrouver avec aucun enregistrement
et ca va optimiser le plan d'execution de la requete

on prend les tables les plus restrictive ou les conditions sont presentes en premier ca evite de parcourir toutes les lignes des grandes tables (facture_detail)
car sur ta requete tu auras surement un filtre sur la facture



commence par facture, apres par exemple client et apres detail facture
(j'ai pas respecté tes noms) mais c'est facture qui sont gérée dans facture en premier
il y a peut etre besoin de left join (en fonction de ta base comment elle est remplie)

fait tes jointures avec access (assistant de requetes) pour avoir un positionnement propre des parentheses (je trouve bizarre qu'il faut des parentheses sur access alors que sql server il y a en pas besoin c'est le moteur des requetes qui veut ca)

bon sql  

 

vendredi 2 janvier 2009 à 16:59:33 | Re : INNER JOIN en cascade

elfifie

Merci je n'avais pas pensé à l'assistant!

voila ça marche!

Pour info voila la soluce :

FROM Utilisateur INNER JOIN (Ligne_Facture INNER JOIN
((Facture INNER JOIN Achat ON Facture.ID_Facture=Achat.ID_Facture)
INNER JOIN CompositionFacture ON Facture.ID_Facture=CompositionFacture.ID_Facture) ON Ligne_Facture.ID_LigneFacture=CompositionFacture.ID_LigneFacture) ON Utilisateur.Nom=Achat.Nom_Utilisateur;


Cette discussion est classée dans : id, facture, join, inner, lignefacture


Répondre à ce message

Sujets en rapport avec ce message

INNER JOIN sur 3 tables [ par citt ] Bonjour, Je fait une requete SQL sur 4 tables pour avoir le nombre d'element en tous Ex : table : ecrou (environ 200 enreg) table : ecrou_petit (envir Select lent avec Inner Join et Order [ par vincentstryckmans ] Bonjour,Je souhaite trier une table table1 en fonction d'un champ d'une table2.Ces deux tables ont un champ qui les lient : table1.id_table2 et table2 SQL et ASP jointures multiples [ par blasted ] Bonjour,je vous expose mon probleme3 tables en jeu dans ma requête :ALBUM (ID_ALBUM,NOM_ALBUM,ID_STYLE,ID_GROUPE,...)STYLE (ID_STYLE,NOM_STYLE,...)GRO Problème de date [ par gregorybts ] Bonjour,JE cherche à ajouter une contrainte sur cette requête, j'aimerai n'obtenir que les factures datant de plus d'un mois.Le problème c'est que déj probleme de champ ntext avec group by [ par nashouille ] Bonjour a tousdans une requete avec une sous requete d'agregation, l'extraction d'un champ ntext est impossible.sql server me retourne ce messageServe Recherche d'un ID maximun sous SQL dans des requètes liées [ par usfoot ] Bonjour à tous,Je débute sous SQL et souhaite créer une requète avec des tables liées qui me donne un seul ID par personne.J'ai des personnes qui sais Question de PIVOT [ par cudenetf ] Bonjour, je souhaite effectuer une requete me permettant de lister tous les achats d'un type de produit (avec affichage qté et n° de facture pour un t Distinct Count [ par izabelintokyo ] Bonjour, Je travaille actuellement sur une base de donnees ; je pensais m'en sortir avec une connaissance limitee d'access pour sortir des requetes. probleme jointure entre table [ par profiter ] bonjour, j'ai deux tables : voici le code de creation : [code=java] public static final String table_facture_f__Name = "facture_f"; static final Str Pb Requete SQL JOIN [ par gabrenicolas ] Bonjour à tous, Petit problème avec le code suivant ca ne passe pas JOIN error... Quelqu'un pourrait-il éclairer ma lanterne... le code:[code=vb


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales