1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| SELECT prs.id
, prs.nom
, prs.prenom
, prs.age
, SUM(obj.bijoux) bijoux
, SUM(obj.meubles) meubles
, SUM(obj.peintures) peintures
FROM personne prs
INNER JOIN
( SELECT proprio_id
, valeur bijoux
, null meubles
, null peintures
FROM objets
WHERE objet = 'bijoux'
UNION
SELECT proprio_id
, null bijoux
, valeur meubles
, null peintures
FROM objets
WHERE objet = 'meubles'
UNION
SELECT proprio_id
, null bijoux
, null meubles
, valeur peintures
FROM objets
WHERE objet = 'peintures'
) obj
ON prs.id = obj.proprio_id
GROUP BY prs.id
, prs.nom
, prs.prenom
, prs.age
; |
Partager