From b20572877aea843b5ea30c3a9c55b9975afe8bf9 Mon Sep 17 00:00:00 2001 From: Leon Amtmann Date: Wed, 18 May 2022 11:43:08 +0200 Subject: [PATCH] Finished Aufgabe 4.7 --- Lösung/Aufgabe 4.sql | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Lösung/Aufgabe 4.sql b/Lösung/Aufgabe 4.sql index be58726..f05834e 100644 --- a/Lösung/Aufgabe 4.sql +++ b/Lösung/Aufgabe 4.sql @@ -90,8 +90,22 @@ Geben Sie eine SQL Anfrage an, die alle Produkte ausgibt, die eine bestimmte Anz ----------------------------------------------------------------------- */ -SELECT Produktname, GROUP_CONCAT(eZ.Anwendungsgrund), GROUP_CONCAT(E_Nummer), - LENGTH(GROUP_CONCAT(E_Nummer)) - LENGTH(REPLACE(GROUP_CONCAT(E_Nummer), ',', '')) + 1 AS 'Anzahl Zusatzstoffe' +SELECT Produktname, + IFNULL( # wenn feld NULL, Keine Emulgatoren + REPLACE( # wenn feld zero, Keine Emulgatoren + REPLACE( # wenn feld zwei, Zwei Emulgatoren + REPLACE( # wenn feld eins, Ein Emulgator + IF( # wenn feld größer als zwei, Mehr Emulgatoren, ansonsten setze den gleichen wert wieder ins feld + LENGTH(GROUP_CONCAT(eZ.Anwendungsgrund)) - LENGTH(REPLACE(GROUP_CONCAT(eZ.Anwendungsgrund), 'E', '')) + > 2, 'Mehr Emulgatoren', + LENGTH(GROUP_CONCAT(eZ.Anwendungsgrund)) - LENGTH(REPLACE(GROUP_CONCAT(eZ.Anwendungsgrund), 'E', ''))) + , 1, 'Ein Emulgator') + , 2, 'Zwei Emulgatoren') + , 0, 'Keine Emulgatoren') + , 'Keine Emulgatoren') + AS Emgulagtoren, + GROUP_CONCAT(eZ.Anwendungsgrund) AS 'Anwendungsgrund' FROM Produkt - JOIN enthaeltZusatzstoff eZ on Produkt.ProduktID = eZ.ProduktID -GROUP BY Produktname \ No newline at end of file + LEFT JOIN enthaeltZusatzstoff eZ on Produkt.ProduktID = eZ.ProduktID +GROUP BY Produktname +ORDER BY LENGTH(GROUP_CONCAT(eZ.Anwendungsgrund)) - LENGTH(REPLACE(GROUP_CONCAT(eZ.Anwendungsgrund), 'E', '')) \ No newline at end of file