#2021-05-20 Übungen Nordwind USE nordwind; #a. Wie lange dauert der Versand im Schnitt bei unseren Versandfirmen? SELECT v.Firma, AVG(DATEDIFF(Lieferdatum, Versanddatum)) FROM versandfirmen v JOIN bestellungen b ON b.`VersandÜber` = v.FirmenNr GROUP BY b.`VersandÜber`; #b. Erstellen Sie eine Liste, wie hoch die Frachtkosten unserer Versandfirmen 1996 insgesamt waren. SELECT v.Firma, SUM(Frachtkosten) FROM versandfirmen v JOIN bestellungen b ON b.`VersandÜber` = v.FirmenNr WHERE YEAR(b.Bestelldatum) = 1996 GROUP BY b.`VersandÜber`; #c. Erstellen Sie eine Liste der Kunden(Kundenname), deren Waren noch nicht versendet wurden. SELECT DISTINCT k.Firma, k.Kontaktperson FROM kunden k JOIN bestellungen b ON b.KundenCode = k.KundenCode WHERE b.Versanddatum IS NULL; #d. Ermitteln Sie, wie oft unsere Kunden 1998 im Mittel bestellt haben. #gesamt SELECT AVG(Bestellzahl) FROM ( SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM kunden k JOIN bestellungen b ON b.KundenCode = k.KundenCode WHERE YEAR(b.Bestelldatum) = 1998 GROUP BY b.KundenCode ) bestellcount; #pro Kunde SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM kunden k JOIN bestellungen b ON b.KundenCode = k.KundenCode WHERE YEAR(b.Bestelldatum) = 1998 GROUP BY b.KundenCode; #e. Stellen Sie fest, wie hoch der Bestellwert des Kunden LILA Supermercado 1996 jeweils bei Bestellungen über 1000,00€ war. #Geben Sie Bestellnummer, Bestellwert und Bestelldatum an. SELECT b.BestellNr, SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) as Bestellwert, b.Bestelldatum FROM kunden k JOIN bestellungen b ON b.KundenCode = k.KundenCode JOIN bestelldetails d ON d.BestellNr = b.BestellNr WHERE k.Firma = "LILA-Supermercado" AND YEAR(Bestelldatum) = 1996 GROUP BY b.BestellNr HAVING SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) > 1000; #f. Stellen Sie fest, wie viele Sendungen in die USA gingen. SELECT COUNT(*) FROM bestellungen WHERE Bestimmungsland = "USA"; #g. Ermitteln Sie, wie viele verschiedene Länder wir beliefern. SELECT COUNT(DISTINCT Bestimmungsland) FROM bestellungen; #h. Berechnen Sie, wie viel Umsatz wir mit skandinavischen Lieferanten insgesamt machen. SELECT SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) as Umsatz FROM bestellungen b JOIN bestelldetails d ON b.BestellNr = d.BestellNr JOIN artikel a ON d.ArtikelNr = a.ArtikelNr JOIN lieferanten l ON a.LieferantenNr = l.LieferantenNr WHERE l.Land IN ("Dänemark", "Norwegen", "Finnland", "Schweden"); #i SELECT kunden.Firma, Kontaktperson, MAX(DATEDIFF(Lieferdatum, Bestelldatum)), versandfirmen.Firma FROM kunden JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode JOIN versandfirmen ON versandfirmen.FirmenNr = bestellungen.`VersandÜber` WHERE DATEDIFF(Lieferdatum, Bestelldatum) > 10 AND YEAR(Bestelldatum) = 1996 AND versandfirmen.Firma = "Speedy Express" GROUP BY kunden.KundenCode; #j SELECT kunden.Firma, Kontaktperson, DATEDIFF(Lieferdatum, Bestelldatum) FROM kunden JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode WHERE DATEDIFF(Lieferdatum, Bestelldatum) = ( SELECT MAX(DATEDIFF(Lieferdatum, Bestelldatum)) FROM kunden JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode );