Bonjour,

J'ai un problème avec une imbriquation de jointure sous Access.

J'utilise les tables suivantes :

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
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.

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 :

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
...
Voici la requête que je pensais utiliser :

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