Cornelia's IV 2 Blog :)

Aktualisiert: 2009.06.24, 12:25 |  login | 
Donnerstag, 26. März 2009

Und noch ein paar Abfragevarianten:

HAVING: Die berechnete Variable kann hier weiters eingegrenzt werden. Angegeben wird es nach GROUP BY ... HAVING ...

BSP 8: Alle Aufträge ausgeben lassen, wo die Gesamteinkaufssumme größer als 20.000 ist. Gesucht Auftragsnummer, Kundennummer, Gesamteinkaufssumme:

SELECT Auftrag.Nr, Kunde.Nr, SUM(Auftragspos.Menge*Buch.Preis) AS Gesamteinkaufssumme
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr
GROUP BY Auftrag.Nr
HAVING Gesamteinkaufssumme>20000

DATUM: Eingrenzen der Abfragen auf Tage, Monate oder Jahre mittels der Funktioneinschränkung: WHERE DAY(Auftrag.Datum), MONTH(Auftrag.Datum), YEAR(Auftrag.Datum)

BSP: Welche Bücher wurden seit 2002 nicht mehr verkauft? Was wollen wir angezeigt bekommen: Buch.Nr, Buch.Titel, Verlag.Name, verkaufte Menge, größer als 2002, Einschränkung ist Menge=0 (wurde ja nicht verkauft)

SELECT Buch.Nr, Buch.Titel, Verlag.Name, SUM(Auftragspos.Menge) AS Verkaufsmenge
FROM Buch, Verlag, Auftragspos, Auftrag
WHERE Auftragspos.Buchnummer=Buch.Nr AND Buch.Verlag=Verlag.Kurzbezeichnung AND Auftragspos.Auftragsnummer=Auftrag.Nr AND YEAR(Auftrag.Datum)>2000
GROUP BY Buch.Nr
HAVING Verkaufsmenge=0

BSP: Welche Bücher wurden seit 2000 mehr als 5 mal verkauft und der Bestand größer 5 ist?

SELECT Buch.Nr, Buch.Titel, Verlag.Name, Buch.Bestand, SUM(Auftragspos.Menge) AS Verkauft, Auftrag.Datum FROM Auftrag, Auftragspos, Buch, Verlag
WHERE Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr AND Buch.Verlag=Verlag.Kurzbezeichnung AND YEAR(Auftrag.Datum)>2000
GROUP BY Buch.Titel
HAVING Buch.Bestand>5 AND Verkauft>9
ORDER BY Buch.Nr desc

EINBINDEN VON SQL-ABFRAGEN: Die ganzen abgefragten Daten sollten wir ja auch in unsere HÜ miteinbauen. Die Antleitung finden wir unter folgendem Link: http://collabor.idv.edu/iv209s/stories/25666/

 Ich habs probiert :) das Ergebnis: Den obrigen Link öffnen und auf den Link Anleitung klicken. Hier ist ein netter (unverständlicher) Text, der das eingebettete Feld bereits vorprgrammiert hat. Wenn der blaue und grüne Text von uns angepasst worden ist, dann nicht in den Blog selber kopieren, sondern auf HTML (Editor rechte Ecke oben) klicken und hier rein kopieren. Dann auf "Aktualisieren" und fertig.

Alle Bücher, die nach 2000 nicht mehr verkauft wurden.

Wenn Zeilenumbrüche eingefügt werden sollen, dann vor dem Text zur Einbettung <p> und nach dem Text </p> schreiben. Dann können vorher und nachher Zeilen eingeführt werden.

Für weitere Hilfe schaut mal auf diesen Link:

http://140.78.51.39/iv1/Analysieren

... permalink  ... comment

 
Eine kleine Ergänzung

Hallo!

Ich wollte nur anmerken das eine Optionale order by Anweisung nach der having Anweisung anzuwenden ist.

Anmerken möchte ich auch noch kurz, dass du die Datumsfunktionen ganz Richtig beim where angegeben hast, das liegt daran, dass es sich um keine "Normalen" Funktionen wie Sum oder dergleichen handelt. Darum gehören sie auch nicht in den select Bereich.

Ich hoffe ich konnte im Sinne des Collaboratorem lernen konstruktives Beitragen.

lg Manuel

... commentlink  

 
danke :)

Danke für deine Ergänzung - ist immer gerne gesehen! :)

... commentlink  


... comment

Menu
Suche
 
Aktuelle Kommentare
Ergänzung Bild einfügen
Hallo, ich hätte noch eine verspätete Ergänzung...
by Gerhard.Zeppetzauer.Uni-Linz (2009.04.30, 23:36)
danke :)
Danke für deine Ergänzung - ist immer gerne...
by cornelia.degeneve.Uni-Linz (2009.04.01, 12:04)
Eine kleine Ergänzung
Hallo! Ich wollte nur anmerken das eine Optionale order...
by Manuel.Baumkirchner.Uni-Linz (2009.03.28, 10:29)
Suppppppppppper
hallo, echt wahnsinn wie toll du alles mitschreibst....
by Gerhard.Zeppetzauer.Uni-Linz (2009.03.24, 11:43)

xml version of this page

made with antville
nach oben |  startseite |  kategorien |