Problème SQL dans requête
achille92°
-
achille92° -
achille92° -
Bonjour, je fais un projet sur une entreprise de travaux agricole et j'ai quelques soucis avec une requête.
Dans une requête, je relie deux autres requêtes par deux champs.
Sur l'un des deux, j'utilise la deuxième propriété de la jointure.
quand je veux valider, j'obtiens le message suivant:
"Instruction SQL non exécutée: des jointures externes ambigües. Pour forcer l'ordre d'exécution d'une des jointures en premier, créez une requête distincte qui exécute la première jointure, puis insérez cette requête dans votre instruction SQL."
Que dois-je faire concrètement?
Dans une requête, je relie deux autres requêtes par deux champs.
Sur l'un des deux, j'utilise la deuxième propriété de la jointure.
quand je veux valider, j'obtiens le message suivant:
"Instruction SQL non exécutée: des jointures externes ambigües. Pour forcer l'ordre d'exécution d'une des jointures en premier, créez une requête distincte qui exécute la première jointure, puis insérez cette requête dans votre instruction SQL."
Que dois-je faire concrètement?
A voir également:
- Problème SQL dans requête
- Logiciel sql - Télécharger - Bases de données
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
- Sql (+) - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
2 réponses
Voici le code sans la jointure désirée:
SELECT DISTINCTROW [Coût de revient sauf entretien par année par matériel].[Date par année], [Coût de revient sauf entretien par année par matériel].Matériel.Libellé, [Coût de revient sauf entretien par année par matériel].Matériel.Assurance, [Coût de revient sauf entretien par année par matériel].[Consomation annuelle], [Coût de revient sauf entretien par année par matériel].Amortissement, Sum([Entretien effectué par matériel par année].[Somme De Coût]) AS [Somme De Somme De Coût]
FROM [Coût de revient sauf entretien par année par matériel] INNER JOIN [Entretien effectué par matériel par année] ON ([Coût de revient sauf entretien par année par matériel].[Date par année] = [Entretien effectué par matériel par année].[Date par année]) AND ([Coût de revient sauf entretien par année par matériel].Matériel.Libellé = [Entretien effectué par matériel par année].Matériel)
GROUP BY [Coût de revient sauf entretien par année par matériel].[Date par année], [Coût de revient sauf entretien par année par matériel].Matériel.Libellé, [Coût de revient sauf entretien par année par matériel].Matériel.Assurance, [Coût de revient sauf entretien par année par matériel].[Consomation annuelle], [Coût de revient sauf entretien par année par matériel].Amortissement;
Et voici ce que je voudrais intégrer:
FROM [Coût de revient sauf entretien par année par matériel] LEFT JOIN [Entretien effectué par matériel par année] ON [Coût de revient sauf entretien par année par matériel].Matériel.Libellé = [Entretien effectué par matériel par année].Matériel
Voilà. Je n'est pas accès au SQL quand j'ai fais les jointure telle que je les désire.
SELECT DISTINCTROW [Coût de revient sauf entretien par année par matériel].[Date par année], [Coût de revient sauf entretien par année par matériel].Matériel.Libellé, [Coût de revient sauf entretien par année par matériel].Matériel.Assurance, [Coût de revient sauf entretien par année par matériel].[Consomation annuelle], [Coût de revient sauf entretien par année par matériel].Amortissement, Sum([Entretien effectué par matériel par année].[Somme De Coût]) AS [Somme De Somme De Coût]
FROM [Coût de revient sauf entretien par année par matériel] INNER JOIN [Entretien effectué par matériel par année] ON ([Coût de revient sauf entretien par année par matériel].[Date par année] = [Entretien effectué par matériel par année].[Date par année]) AND ([Coût de revient sauf entretien par année par matériel].Matériel.Libellé = [Entretien effectué par matériel par année].Matériel)
GROUP BY [Coût de revient sauf entretien par année par matériel].[Date par année], [Coût de revient sauf entretien par année par matériel].Matériel.Libellé, [Coût de revient sauf entretien par année par matériel].Matériel.Assurance, [Coût de revient sauf entretien par année par matériel].[Consomation annuelle], [Coût de revient sauf entretien par année par matériel].Amortissement;
Et voici ce que je voudrais intégrer:
FROM [Coût de revient sauf entretien par année par matériel] LEFT JOIN [Entretien effectué par matériel par année] ON [Coût de revient sauf entretien par année par matériel].Matériel.Libellé = [Entretien effectué par matériel par année].Matériel
Voilà. Je n'est pas accès au SQL quand j'ai fais les jointure telle que je les désire.