From 93604300cb4d9720f8bf4179e5f88dc3714cf026 Mon Sep 17 00:00:00 2001 From: Martin Eyben Date: Tue, 3 Dec 2024 20:38:16 +0000 Subject: [PATCH] fix: group piece together --- PostgreSQL/src/functions.sql | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/PostgreSQL/src/functions.sql b/PostgreSQL/src/functions.sql index aa09a51..8eb6dbf 100644 --- a/PostgreSQL/src/functions.sql +++ b/PostgreSQL/src/functions.sql @@ -2,14 +2,17 @@ CREATE OR REPLACE FUNCTION pieces_membre(int) RETURNS TABLE(id_piece int, quantite_piece int) AS $$ -SELECT id_piece, quantite_contenir * quantite_enregistrer as quantite_pieces_possedees -FROM enregistrer -NATURAL JOIN boites -NATURAL JOIN contenir -WHERE id_membre=$1 -UNION -(SELECT id_piece, quantite_acheter as quantite_pieces_possedees - FROM acheter WHERE id_membre=$1); +SELECT id_piece, SUM(quantite_pieces_possedees) FROM ( + SELECT id_piece, quantite_contenir * quantite_enregistrer as quantite_pieces_possedees + FROM enregistrer + NATURAL JOIN boites + NATURAL JOIN contenir + WHERE id_membre=$1 + UNION + (SELECT id_piece, quantite_acheter as quantite_pieces_possedees + FROM acheter WHERE id_membre=$1) + ) + GROUP BY id_piece $$ LANGUAGE SQL; ;