... neuere Einträge
Ausgewählte SQL-Abfragen
Wolfgang.Simetsberger.Uni-Linz | 31. Oktober 08
Für die Umstrukturierung des Buchhandelsgeschäfts hat der Geschäftsführer bereits eine Maßnahme getroffen und einen neuen Mitarbeiter, Hr. Schwarz, eingestellt. Hr. Schwarz war bis vor kurzem für ein namhaftes Buchhandelsgeschäft als Verkäufer und auch als Einkäufer tätig und besitzt somit über ein fundiertes Wissen in der Branche. Da er vor kurzem einen Einstiegskurs für SQL besucht hat, versucht er nun seine erlernten Kenntnisse anzuwenden.
Herr Schwarz möchte mit der folgenden Abfrage herausfinden, welche Verlage und somit Lieferanten in der Datenbank gelistet sind. SELECT DISTINCT Verlag.Name FROM Verlag |
Als nächstes möchte Hr. Schwarz wissen, auf welche Verlage der aktuelle Lagerbestandswert entfällt. SELECT Verlag.Name AS Verlagname, SUM(Buch.Bestand*Buch.Preis) AS "Bestandswert" FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY Verlag.Name ORDER BY Bestandswert DESC |
Herr Schwarz hat bei der vorherigen Abfrage festgestellt, dass die Oesterreichische BUNDESVERLAG Ges.m.b.H., Kurzbezeichnung "oev", einen sehr hohen Bestandswert am Lager ausweist und möchte deshalb wissen, welche Bücher des Verlages sich zu welchem Preis auf Lager befinden. SELECT Buch.Titel, Buch.Preis FROM Buch WHERE Buch.Verlag LIKE 'oev' ORDER BY Buch.Preis DESC |
Da Herr Schwarz schon einige Informationen über den Lieferantenstamm gewonnen hat, beschließt er nun den Kundenstamm zu analysieren. Zu Beginn stellt sich für ihn die Frage - "Mit welchen Kunden macht das Unternehmen den größten Umsatz?" SELECT Kunde.Nachname, Kunde.Vorname, Kunde.Nr, SUM(Buch.Preis*Auftragspos.Menge) AS Gesamtumsatz FROM Kunde, Auftrag, Auftragspos, Buch WHERE Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr GROUP BY Kunde.Nr |
Herr Schwarz kommt seinem Ziel, einen kleinen Überblick über das Unternehmen zu bekommen, immer näher. Als nächstes ist er noch daran interessiert, wie sich der Gesamtumsatz auf die einzelnen Bundeländer verteilt und führt deshalb eine weitere Abfrage durch. SELECT PLZ.Region AS Bundesland, SUM(Auftragspos.Menge*Buch.Preis) AS Gesamtumsatz FROM PLZ, Kunde, Auftrag, Auftragspos, Buch WHERE PLZ.Plz=Kunde.Plz AND Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr GROUP BY Bundesland ORDER BY Gesamtumsatz DESC |
Herr Schwarz weiß aus eigener Erfahrung, dass es zeitsparender und auch kostengünstiger ist, Bestellungen bei einer kleinen Anzahl von Lieferanten abzuwickeln. Darum legt er einen Ausdruck der folgenden Abfrage der Geschäftsführung vor. Die Liste beinhaltet jene Verlage, von denen ein Bestandswert von unter 10000 Euro auf Lager liegt. Herr Schwarz möchte, wenn von der Geschäftsführung genehmigt, die betroffenen Verlage aus der Lieferantenliste streichen. SELECT Verlag.Name AS Verlagname, SUM(Buch.Bestand*Buch.Preis) AS 'Bestandswert' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY Verlag.Name HAVING Bestandswert<10000 ORDER BY Bestandswert DESC |
Permalink (4 Kommentare) Kommentieren
... ältere Einträge