#2021-05-20 Übungen Nordwind
USE nordwind;

#1. Wie lange dauert der Versand im Schnitt bei unseren Versandfirmen?
SELECT v.Firma, AVG(DATEDIFF(Lieferdatum, Versanddatum)) FROM bestellungen b, versandfirmen v
WHERE b.`VersandÜber` = v.FirmenNr
GROUP BY b.`VersandÜber`;

#2. Erstellen Sie eine Liste, wie hoch die Frachtkosten unserer Versandfirmen 1996 insgesamt waren.
SELECT v.Firma, SUM(Frachtkosten) FROM bestellungen b, versandfirmen v
WHERE b.`VersandÜber` = v.FirmenNr
   AND YEAR(b.Bestelldatum) = 1996
GROUP BY b.`VersandÜber`;

#3. Erstellen Sie eine Liste der Kunden(Kundenname), deren Waren noch nicht versendet wurden.
SELECT DISTINCT k.Firma, k.Kontaktperson FROM bestellungen b, kunden k
WHERE b.KundenCode = k.KundenCode
   AND b.Versanddatum IS NULL;

#4. 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 bestellungen b, kunden k
   WHERE b.KundenCode = k.KundenCode
      AND YEAR(b.Bestelldatum) = 1998
   GROUP BY b.KundenCode
   ) bestellcount;

#pro Kunde
SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM bestellungen b, kunden k
WHERE b.KundenCode = k.KundenCode
   AND YEAR(b.Bestelldatum) = 1998
GROUP BY b.KundenCode

#5. 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 bestellungen b, kunden k, bestelldetails d
WHERE b.KundenCode = k.KundenCode
   AND d.BestellNr = b.BestellNr
   AND k.Firma = "LILA-Supermercado"
   AND YEAR(Bestelldatum) = 1996
GROUP BY b.BestellNr
HAVING SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) > 1000;

#6. Stellen Sie fest, wie viele Sendungen in die USA gingen.
SELECT COUNT(*) FROM bestellungen
WHERE Bestimmungsland = "USA";

#7. Ermitteln Sie, wie viele verschiedene Länder wir beliefern.
SELECT COUNT(DISTINCT Bestimmungsland) FROM bestellungen;

#8. 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, bestelldetails d, artikel a, lieferanten l
WHERE b.BestellNr = d.BestellNr
   AND d.ArtikelNr = a.ArtikelNr
   AND a.LieferantenNr = l.LieferantenNr
   AND l.Land IN ("Dänemark", "Norwegen", "Finnland");

