Merge branch 'master' of https://github.com/H4CK3R-01/Datenbanken
This commit is contained in:
commit
dd6c41e0f0
@ -10,4 +10,52 @@ Wird dabei gegen Vorgaben (Kalorienvorgaben, vegetarisch, Allergene, etc.) verst
|
||||
soll das in der Sicht angezeigt werden. Wenn der Tag „ok“ ist, soll das markiert werden,
|
||||
ansonsten soll angezeigt werden, gegen was verstoßen wurde.
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Rechtekonzept:
|
||||
Als normaler Benutzer sollte man nur Zugriff auf seine eigenen Daten haben.
|
||||
Als privilegierter Nutzer (z.B. Admin) kann man alle Daten sehen
|
||||
*/
|
||||
DROP VIEW IF EXISTS Menu_Naehrwerte;
|
||||
CREATE VIEW Menu_Naehrwerte AS
|
||||
(
|
||||
SELECT Menuname,
|
||||
GROUP_CONCAT(DISTINCT Produktname SEPARATOR ', ') AS 'Produkte',
|
||||
ROUND(SUM(Fett * (SELECT Menge FROM Menge WHERE MengenID = M.MengenID) / 100), 2) AS 'Fett',
|
||||
ROUND(SUM(Kohlenhydrate * (SELECT Menge FROM Menge WHERE MengenID = M.MengenID) / 100), 2) AS 'Kohlenhydrate',
|
||||
ROUND(SUM(Eiweiss * (SELECT Menge FROM Menge WHERE MengenID = M.MengenID) / 100), 2) AS 'Eiweiss',
|
||||
ROUND(SUM(Brennwert * (SELECT Menge FROM Menge WHERE MengenID = M.MengenID) / 100), 2) AS 'Brennwert',
|
||||
GROUP_CONCAT(DISTINCT Allergenbezeichnung SEPARATOR ', ') AS 'Allergene',
|
||||
GROUP_CONCAT(DISTINCT E_Nummer SEPARATOR ', ') AS 'Zusatzstoff'
|
||||
FROM Menu
|
||||
JOIN Menucontent M on Menu.MenuID = M.MenuID
|
||||
JOIN Menge M3 on M.MengenID = M3.MengenID
|
||||
JOIN Produkt P on M3.ProduktID = P.ProduktID
|
||||
JOIN Naehrwerte N on P.ProduktID = N.ProduktID
|
||||
|
||||
JOIN enthaeltAllergen eA on P.ProduktID = eA.ProduktID
|
||||
JOIN Allergen A on A.AllergenID = eA.AllergenID
|
||||
|
||||
LEFT JOIN enthaeltZusatzstoff eZ on P.ProduktID = eZ.ProduktID
|
||||
GROUP BY Menuname);
|
||||
|
||||
|
||||
# TODO Compare Menu_Naehrwerte.Allergene and Menu_Naehrwerte.Zusatzstoff with Allergie and Zusatzstoffunverträglichkeit
|
||||
DROP VIEW IF EXISTS Aufgabe_5;
|
||||
CREATE VIEW Aufgabe_5 AS
|
||||
(
|
||||
SELECT Personenvorname,
|
||||
Personenname,
|
||||
Naehrwertziel,
|
||||
MN.Brennwert,
|
||||
CONCAT(MN.Brennwert / Naehrwertziel * 100, '%') AS Naehrwertziel_Prozent,
|
||||
MN.Fett,
|
||||
MN.Kohlenhydrate,
|
||||
MN.Eiweiss,
|
||||
IF(MN.Brennwert / Naehrwertziel * 100 <= 100, 'OK', 'Naehrwertziel überschritten') AS Naehrwert_OK,
|
||||
M.Menuname,
|
||||
Allergene,
|
||||
Zusatzstoff
|
||||
FROM konsumiert
|
||||
JOIN Menu M on M.MenuID = konsumiert.MenuID
|
||||
JOIN Person P on P.PersonID = konsumiert.PersonID
|
||||
JOIN Menu_Naehrwerte MN on M.Menuname = MN.Menuname);
|
||||
|
Loading…
Reference in New Issue
Block a user