====== Lösungsvorschläge Joins I ====== ++++Gib die Liste mit den Namen aller jemals bestellen Artikel mitsamt ihres Bestelldatums aus. | SELECT AName, BZeitpunkt FROM artikel, bestellt WHERE artikel.ANr = bestellt.ANr ++++ ++++Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus.| SELECT kunden.KNr, artikel.AName FROM artikel, kunden, bestellt WHERE artikel.ANr = bestellt.ANr AND kunden.KNr=bestellt.KNr ++++ ++++Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. | SELECT BZeitpunkt FROM kunden, bestellt WHERE kunden.KVorname='Thomas' AND kunden.KNachname='Tischler' AND kunden.KNr=bestellt.KNr; ++++ ++++ Gib die Namen aller Artikel aus, die Maximilian Mayer bestellt hat.| SELECT KNachname,AName FROM kunden,bestellt,artikel WHERE kunden.KNr = bestellt.KNr AND artikel.ANr = bestellt.ANr AND KVorname = "Maximilian" AND KNachname = "Mayer"; ++++ ++++ Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung.| SELECT KNachname, Max(BZeitpunkt) FROM kunden,bestellt WHERE kunden.KNr = bestellt.KNr GROUP By KNachname ORDER BY Max(BZeitpunkt) DESC; ++++ ++++ Gib pro Kunde aus, wie viele Artikel er insgesamt bestellt hat. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden. | SELECT Knachname,sum(BAnzahl),count(*) FROM kunden,bestellt WHERE kunden.KNr = bestellt.KNr GROUP BY KNachname ORDER BY count(*) DESC; ++++ ++++Gib die Namen der Artikel aus mitsamt der Information, wie oft sie insgesamt bestellt wurden. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden.| SELECT AName,SUM(BAnzahl) FROM artikel,bestellt WHERE artikel.ANr = bestellt.ANr GROUP By AName ORDER BY SUM(BAnzahl) DESC; ++++ ++++ Gib pro Kunde aus, wie viel Geld er insgesamt ausgegeben hat.| SELECT KNachname,SUM(BAnzahl*APreis) FROM kunden,artikel,bestellt WHERE artikel.ANr = bestellt.ANr AND kunden.KNr = bestellt.KNr GROUP BY KNachname; ++++ ++++Gib die Nummern und Namen der Kundenpaare aus, die den gleichen Artikel bestellt haben.| SELECT k1.KNachname, k2.KNachname, AName FROM kunden AS k1, kunden AS k2, bestellt AS b1,bestellt AS b2, artikel AS a WHERE k1.KNr = b1.KNr AND b1.ANr = a.ANr AND b2.ANr = a.ANr AND k2.KNr = b2.KNr AND k1.KNr < k2.KNr; ++++ ++++Zusatzaufgabe: Gib die Liste aller Kunden aus, die noch nie einen Artikel im Webshop bestellt haben.| SELECT kunden.KNachname, kunden.KVorname FROM kunden WHERE kunden.KNr NOT IN (SELECT DISTINCT bestellt.KNr FROM bestellt); ++++