Bonjour,
J'ai un problème avec une imbriquation de jointure sous Access.
J'utilise les tables suivantes :
Pour expliquer cela en quelques mots, j'ai donc des loueurs, qui ont différentes périodes. J'ai de l'autre côté différents bateaux, avec différents tarifs. Pour chaque tarifs, j'ai différents prix, qui correspondent aux différentes périodes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 prix ----------------------- id integer -- id_periode integer id_tarif integer semaine decimal weekend decimal tarifs ----------------------- id integer -- id_bateau description text periodes ----------------------- id integer -- id_loueur integer du date au date
Ce que je souhaite, c'est avoir pour chaque tarif, toutes les périodes d'un loueur, avec les prix correspondants, et null si pas de prix. C'est à dire un résultat du genre :
Voici la requête que je pensais utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 du au id_tarif semaine weekend 10/10/07 11/11/07 1 453,33 12,32 12/11/07 12/12/07 1 null null ...
SELECT semaine, weekend, du, au, id_tarif
FROM ((prix
INNER JOIN tarifs ON prix.id_tarif=tarifs.id)
RIGHT OUTER JOIN periodes ON prix.id_periode=periodes.id)
Mais cette requête me renvoit "Expression de jointure non supportée". A priori, d'après la page suivante : http://office.microsoft.com/fr-fr/ac...CH100728991036 , "Une jointure LEFT JOIN ou RIGHT JOIN peut être imbriquée dans une jointure INNER JOIN mais il est impossible d'imbriquer une jointure INNER JOIN dans une jointure LEFT JOIN ou RIGHT JOIN". Peut être que le problème vient de là ?
Si oui, comment puis-je faire pour arriver à mes fins ?
(Par la suite, une fois que la base marchera, je compte ajouter "WHERE id_loueur=? AND id_tarif=?")
Merci beaucoup de votre aide !
Bon après midi
--
Benjiiim
Partager