feat(sql): add function to list models based on a box
This commit is contained in:
parent
4b07c56624
commit
08dcfa2e88
@ -14,6 +14,17 @@ $$
|
|||||||
LANGUAGE SQL;
|
LANGUAGE SQL;
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION pieces_boite(int) RETURNS TABLE(id_piece int, quantite_piece int)
|
||||||
|
AS
|
||||||
|
$$
|
||||||
|
(SELECT id_piece, quantite_contenir
|
||||||
|
FROM contenir WHERE id_boite=$1);
|
||||||
|
$$
|
||||||
|
LANGUAGE SQL;
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
-- Liste des modèles faisables à partir d'un membre
|
-- Liste des modèles faisables à partir d'un membre
|
||||||
CREATE OR REPLACE FUNCTION modeles_faisables_membre(int) RETURNS TABLE(
|
CREATE OR REPLACE FUNCTION modeles_faisables_membre(int) RETURNS TABLE(
|
||||||
id_modele int
|
id_modele int
|
||||||
@ -31,3 +42,22 @@ WHERE id_modele not IN
|
|||||||
)
|
)
|
||||||
$$
|
$$
|
||||||
LANGUAGE SQL;
|
LANGUAGE SQL;
|
||||||
|
|
||||||
|
|
||||||
|
-- Liste des modèles faisables à partir d'une boite
|
||||||
|
CREATE OR REPLACE FUNCTION modeles_faisables_boite(int) RETURNS TABLE(
|
||||||
|
id_modele int
|
||||||
|
) AS
|
||||||
|
$$
|
||||||
|
SELECT id_modele
|
||||||
|
FROM modeles
|
||||||
|
WHERE id_modele not IN
|
||||||
|
(
|
||||||
|
SELECT id_modele FROM (SELECT * FROM pieces_boite($1)) as pieces_possedees
|
||||||
|
RIGHT OUTER JOIN (SELECT id_piece as id_necessaire, quantite_necessiter, id_modele
|
||||||
|
FROM necessiter) as pieces_modeles
|
||||||
|
ON pieces_possedees.id_piece = id_necessaire
|
||||||
|
WHERE quantite_necessiter > quantite_piece OR quantite_piece IS NULL
|
||||||
|
)
|
||||||
|
$$
|
||||||
|
LANGUAGE SQL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user