Jointure Externe sur base ACCESS par Query Excel
Bonjour!
Je cherche à faire une jointure externe sur une requete a plusieurs table et j'ai du mal a la faire fonctionnée..
En fait, j'écris ma requete dans Query (Excel) et elle va tapper sur une base Access et Query me dit que je ne peux pas faire de jointure externe si j'ai plus de 2 tables!! Ce qui me parait étonnant car je l'ai deja fait en tappant sur des bases oracles.. Je ne sais vraiment pas comment écrire la jointures pour cette base Access..
Voila ma requete:
Code:
1 2 3 4 5 6
| SELECT Personnel.Nom_perso, Personnel.Prenom_perso, Contrats.Nom_Mag, Salaires.Montant_sal, Salaires.LPP
FROM `Ajustements&Primes`, Contrats, Personnel, Salaires
WHERE [b]`Ajustements&Primes`.Code_perso = Personnel.Code_perso[/b] AND
Salaires.Code_perso = Personnel.Code_perso AND Contrats.Code_contrat = Salaires.Code_contrat AND Contrats.Code_perso = Personnel.Code_perso AND ((Salaires.Date_fin Is Null) AND (Salaires.Date_debut<=?) OR (Salaires.Date_fin>=?) AND (Salaires.Date_debut<=?))
ORDER BY Contrats.Nom_Mag |
Je veux effectuer la jointure externe sur le lien en gras, pour afficher toute le lignes de Personnel... Qqun saurait il comment je peux coder ceci pour qu'il me le prenne?.. :cry:
Merci d'avance!
Re: Jointure Externe sur base ACCESS par Query Excel
Citation:
Envoyé par marie10
Je cherche à faire une jointure externe sur une requete a plusieurs table et j'ai du mal a la faire fonctionnée..
En fait, j'écris ma requete dans Query (Excel) et elle va tapper sur une base Access et Query me dit que je ne peux pas faire de jointure externe si j'ai plus de 2 tables!! Ce qui me parait étonnant car je l'ai deja fait en tappant sur des bases oracles..
Essaye d'écrire tes jointures externes avec la syntaxe normalisée si c'est possible :
Voici un exemple via un jeu d'essai tout simple :
Code:
1 2 3 4 5 6
| CREATE TABLE Table1 (id1 Number(10));
CREATE TABLE Table2 (id2 NUMBER(10), id1 NUMBER(10));
CREATE TABLE Table3 (id3 NUMBER(10), id2 NUMBER(10));
INSERT INTO Table1 VALUES (1);
COMMIT; |
premier champ = PK, second = FK
Voici une requête avec jointure externe entre Table1 et Table2 :
Code:
1 2 3 4 5 6
| SQL> SELECT Table1.id1, id2
2 FROM Table1 LEFT OUTER JOIN Table2 ON Table1.id1 = Table2.id2;
ID1 ID2
---------- ----------
1 |
Et la même entre Table1, table2 et Table3 :
Code:
1 2 3 4 5 6 7
| SQL> SELECT Table1.id1, Table2.id2, id3
2 FROM Table1 LEFT OUTER JOIN Table2 ON Table1.id1 = Table2.id2
3 LEFT OUTER JOIN Table3 ON Table2.id2 = Table3.id2;
ID1 ID2 ID3
---------- ---------- ----------
1 |