Bonjour tout le monde !
Je suis bloqué depuis hier avec une requête de SELECT pour laquelle il me manque un truc...
Voici le schéma : j'ai plusieurs tables avec une relation parent / enfant :
A => B => C => D.
A partir de D, je souhaite atteindre une table Z, MAIS, j'ai 3 possibilités pour l'atteindre (et c'est là que ça se complique :mrgreen: ) :
- soit D => Z
- soit D => F => Z
- soit D => E => F => Z (F contient les id de D et E)
A chaque héritage, il peut y avoir plusieurs enfants...
En théorie, les données Z obtenue via D => Z ne se retrouvent pas dans D => F => Z, ni dans D => E => F => Z.
Sur cette table Z, qui est donc la cible, je souhaite obtenir une SUM pour une colonne.
Les jointures jusqu'à F se font par une simple id, mais pour atteindre Z il faut sélectionner un type et une date :roll:
J'étais donc parti sur quelque chose du genre :
Mais je pense que je suis parti à l'envers ?! Car après je butte pour obtenir mon
Un petit coup de main serait fort bien venu
Je suis bloqué depuis hier avec une requête de SELECT pour laquelle il me manque un truc...
Voici le schéma : j'ai plusieurs tables avec une relation parent / enfant :
A => B => C => D.
A partir de D, je souhaite atteindre une table Z, MAIS, j'ai 3 possibilités pour l'atteindre (et c'est là que ça se complique :mrgreen: ) :
- soit D => Z
- soit D => F => Z
- soit D => E => F => Z (F contient les id de D et E)
A chaque héritage, il peut y avoir plusieurs enfants...
En théorie, les données Z obtenue via D => Z ne se retrouvent pas dans D => F => Z, ni dans D => E => F => Z.
Sur cette table Z, qui est donc la cible, je souhaite obtenir une SUM pour une colonne.
Les jointures jusqu'à F se font par une simple id, mais pour atteindre Z il faut sélectionner un type et une date :roll:
J'étais donc parti sur quelque chose du genre :
Code:
SELECT *
FROM A
INNER JOIN B ON (B.id = A.id)
INNER JOIN C ON (C.id = B.id)
INNER JOIN D ON (D.id = C.id)
Code:
SELECT SUM(Z.truc)
FROM Z
WHERE type=''
AND date=''
Un petit coup de main serait fort bien venu