mirror of
https://github.com/grocy/grocy.git
synced 2025-09-29 19:12:24 +00:00
27 lines
687 B
MySQL
27 lines
687 B
MySQL
![]() |
DROP VIEW recipes_nestings_resolved;
|
||
|
CREATE VIEW recipes_nestings_resolved
|
||
|
AS
|
||
|
WITH RECURSIVE r1(recipe_id, includes_recipe_id, includes_servings, level)
|
||
|
AS (
|
||
|
SELECT
|
||
|
id AS recipe_id,
|
||
|
id AS includes_recipe_id,
|
||
|
1 AS includes_servings,
|
||
|
0 AS level
|
||
|
FROM recipes
|
||
|
|
||
|
UNION ALL
|
||
|
|
||
|
SELECT
|
||
|
rn.recipe_id,
|
||
|
r1.includes_recipe_id,
|
||
|
CASE WHEN r1.level = 0 THEN rn.servings ELSE (SELECT servings FROM recipes_nestings WHERE recipe_id = r1.recipe_id AND includes_recipe_id = r1.includes_recipe_id) END AS includes_servings,
|
||
|
r1.level + 1 AS level
|
||
|
FROM recipes_nestings rn, r1 r1
|
||
|
WHERE rn.includes_recipe_id = r1.recipe_id
|
||
|
)
|
||
|
SELECT
|
||
|
*,
|
||
|
1 AS id -- Dummy, LessQL needs an id column
|
||
|
FROM r1;
|