Informationsverarbeitung 2 |
Sonntag, 6. April 2008
3. Aufgabe
Kathrin.Fellhofer.Uni-Linz, 19:42h
Als Ausgangspunkt unserer Aufgabe hatten wir diese Angabe:
SELECT Kunde.Nr, Kunde.Nachname, COUNT(Auftrag.Nr) FROM Kunde, Auftrag WHERE Kunde.Nr = Auftrag.Kundennummer GROUP BY Kunde.Nr ORDER BY Kunde.Nr Schritt 1 Ergänzen sie obenstehende Abfrage um den Umsatz (Preis * Menge) je Kunde. Achten Sie darauf, dass die Anzahl der getätigten Aufträge "COUNT(Auftrag.Nr)" korrekt ist, bzw. im Vergleich zur Ausgangssituation unverändert. SELECT Kunde.Nr, Kunde.Nachname, COUNT(Auftrag.Nr), SUM(Buch.Preis*Auftragspos.Menge) FROM Kunde, Auftrag, Auftragspos, Buch WHERE Kunde.Nr = Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr GROUP BY Kunde.Nr ORDER BY Kunde.Nr Mir ist nach dieser Abfrage aufgefallen, dass die Anzahl der Aufträge ansteigt. Nach langem überlegen und ausprobieren, bin ich glaub ich auf die Lösung gekommen, die wie folgt lautet: SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT Auftrag.Nr), SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz FROM Kunde, Auftrag, Auftragspos, Buch WHERE Kunde.Nr = Auftrag.Kundennummer AND Auftrag.Nr = Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer = Buch.Nr GROUP BY Kunde.Nr ORDER BY Kunde.Nr Ich habe bei dem Befehl Count noch ein Distinct eingefügt, weil sonst die Anzahl der Aufträge ansteigt. Schritt 2 Ermitteln Sie in einem Weiteren Schritt die Verteilung der Aufträge über die Zeit (Jahre), OHNE dass dabei Auswertungen (Anzahl der Aufträge bzw. Auftragssummen) ermittelt werden. SELECT Kunde.Nr, Kunde.Nachname, Auftrag.Datum FROM Kunde, Auftrag WHERE Kunde.Nr = Auftrag.Kundennummer GROUP BY Kunde.Nr ORDER BY Kunde.Nr Schritt 3 Grenzen Sie die Abfrage 1 in sinnvolle Zeitabschnitte ein. SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT Auftrag.Nr), SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz FROM Kunde, Auftrag, Auftragspos, Buch WHERE Kunde.Nr = Auftrag.Kundennummer AND Auftrag.Nr = Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer = Buch.Nr AND Auftrag.Datum >= '2000-01-01' AND Auftrag.Datum <= '2000-01-31' GROUP BY Kunde.Nr ORDER BY Kunde.Nr Ich habe den Zeitraum auf den Monat Jänner 2000 eingeschränkt. Schritt 4 Ergänzen Sie die zeitlich abgegrenzten Auswertungen um einen weiteren Filter, der sich an der durchschnittlichen Anzahl der Aufträge orientiert. SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT Auftrag.Nr), SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz, AVG(Auftragspos.Menge) FROM Kunde, Auftrag, Auftragspos, Buch WHERE Kunde.Nr = Auftrag.Kundennummer AND Auftrag.Nr = Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer = Buch.Nr AND Auftrag.Datum >= '2000-01-01' AND Auftrag.Datum <= '2000-01-31' GROUP BY Kunde.Nr ORDER BY Kunde.Nr Bei der Berechnung der durchschnittlichen Anzahl der Aufträge bin ich mir nicht sicher. ... comment
Hans.Mittendorfer.Uni-Linz,
Sonntag, 6. April 2008, 20:28
trotz der "zurückgegangenen" Zahl der Aufträge
scheint das Ergebnis nicht richtig zu sein.
... link ... comment
Hans.Mittendorfer.Uni-Linz,
Montag, 7. April 2008, 21:16
Es ist nicht im Sinne ..
.. der Lernblogs, dass Sie eine ursprünglich nicht ganz korrekte Aufgabenlösung nach dem Hinweis auf mögliche Fehler einfach korrigieren. Gleich vorneweg: Es ist systemimmanenter Bestandteil von Lernblogs (und vielen anderen Publikationen auch) dass diese Fehler enthalten. Und Sie brauchen diese auch nicht zu cachieren!
Angemessen wäre, wenn Sie, die Korrektur einfach anfügten, sodass der Ursprung noch ersichtlich ist. Somit wird Ihre Dokumentation zur Leiter, die von Sprosse zu Sprosse .... (wohin?) führt. ... link
bjoern.hagemann.Uni-Linz,
Dienstag, 8. April 2008, 08:23
da muss ich zugeben,
daß ich das wie Frau Fellhofer gemacht hätte. Einen Korrekturweg einzufügen hätte ich von selbst nicht gemacht.
Aber ich verstehe schon warum sie das als immanent betrachten. ... link ... comment |
Online for 6105 days
Last update: 2008.06.18, 17:56 status
You're not logged in ... login
menu
search
calendar
recent updates
5. Aufgabe
Aufgabenstellung: eBusine by Kathrin.Fellhofer.Uni-Linz (2008.06.18, 17:56) Tutorium 10.06
Bin nicht fertig geworden!! beispielklausur (xls,... by Kathrin.Fellhofer.Uni-Linz (2008.06.10, 09:55) Tutorium 03.06
Beispiel für UML (Kauf eines Weckerls im Chat): by Kathrin.Fellhofer.Uni-Linz (2008.06.03, 09:22) |