DarkSQL by Darkleo.com
DarkSQL
Mengenoperationen und VIEW
Zu welchen Aufträgen (Auftragsnummer) gibt es Rechnungen ?
|
select auftrag_nrfrom auftraege intersect select auftrag_nr from rechnungen; |
Zu welchen Aufträgen (Auftragsnummer) gibt es keine Rechnungen ?
|
select auftrag_nrfrom auftraege minus select auftrag_nr from rechnungen; |
|
select namefrom kunden intersect select name from lieferanten; |
Erzeugen Sie einen View „Auftragswert" mit folgenden Daten: Auftragsnummer, Kundennummer, Auftragsdatum, Auftragswert (= Verkaufspreis * Verkaufsmenge summiert über alle Positionen des Auftrages). Testen Sie den View (mittels select)
|
create view auftragswert (auftragsnummer, kundennummer, auftragsdatum, auftragswert)as select a.auftrag_nr, kunde_nr, auftrag_datum, sum(menge*preis) from auftraege a join auftragspositionen p on a.auftrag_nr = p.auftrag_nr group by a.auftrag_nr, kunde_nr, auftrag_datum; |
Erzeugen Sie einen View, der jahresweise die Summe der Auftragswerte aller Aufträge des Jahres zeigt. Basieren Sie den View auf dem View „Auftragswert".
|
create view jahreswert (jahr, auftragswert)as select extract(year from auftragsdatum), sum(auftragswert) from auftragswert group by extract(year from auftragsdatum); |
Erstellen Sie einen View, der - sortiert nach Datum -die an dem jeweiligen Tag fälligen Rechnungsbeträge (unbezahlt!) aufführt.
|
create view faellige_betraege (datum, betrag)as select datum_faellig, sum(rechnung_betrag) from rechnungen where bezahlt = 0 group by datum_faellig; |
|
create view zahlverhalten (kunde, tage)as select kunde_nr , sum( case when bezahlt=1 then zahldatum- datum_faellig else current_date – datum_faellig end ) from rechnungen group by kunde_nr; |
Ermitteln Sie mit Hilfe des vorigen Views, welcher Kunde sich im Schnitt am meisten Zeit lässt, seine Rechnungen zu bezahlen (nur select, kein view)
|
select kundefrom zahlverhalten where tage = (select max(tage) from zahlverhalten); |