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