Weblog von Kamil |
Montag, 16. April 2007
SQL Abfragen - Aufgabe 2
kamil.flieger.Uni-Linz, 22:57h
Meiner Meinung nach sind die guten Artikel jene Produkte, die den höchsten Gewinn liefern. Gewinn ist dabei unser Verkaufspreis – Einkaufspreis. Da wir jedoch die Einkaufspreise nicht kennen, müssen wir einige Annahmen treffen. Ich nehme also an, dass wir einen einheitlichen Gewinnaufschlag haben. Gute Produkte sind für uns daher diejenige, die den größten Umsatz haben.
SELECT Buch.Titel, Buch.Preis, Auftragspos.Menge, SUM(Buch.Preis * Auftragspos.Menge) FROM Buch , Auftrag, Auftragspos WHERE (Auftragspos.Auftragsnummer = Auftrag.Nr) AND (Buch.Nr = Auftragspos.Buchnummer) GROUP BY Buch.Titel ORDER BY 4 DESC Erläuterung: SELECT: Wähle die Felder Titel aus der Tabelle Buch, Preis aus der Tabelle Buch, Menge aus der Tabelle Auftragspos und mache ein neues Feld Sum, in dem der Produkt von Preis und Menge aufgezeigt wird. FROM: Tabellen, aus denen die Daten genommen werden sollen. WHERE: Auftragsnummer und Nr müssen identisch Sein, Nr und Buchnummer müssen auch gleich Sein. GROUP BY: da ich Multiplikation in der Formel habe, muss ich diesen Befehl in die Formel einbinden ORDER BY 4 DESC: reihe nach der vierten Spalte absteigend Ergebnis (Ausschnitt) Die Rechtschreib-CD-ROM Woerterbuch Italienisch-Slowenisch Slovenske racunske naloge za 2. solsko st. Wir können auch die schlechtesten Produkte finden: Da jedoch Befehl SELECT Buch.Titel, Buch.Preis, Auftragspos.Menge, SUM(Buch.Preis * Auftragspos.Menge) FROM Buch , Auftrag, Auftragspos WHERE (Auftragspos.Auftragsnummer = Auftrag.Nr) AND (Buch.Nr = Auftragspos.Buchnummer) GROUP BY Buch.Titel ORDER BY 4 ASC auch jene Bücher liefert, die zwar nachgefragt ewrden aber bei dennen Preis gleich Null ist, ist dieser Ergebnis nicht richtig. Da unser Verkaufspreis Null ist, handelt es sich wahrscheinlich um Werbepublikationen. Wir wollen also jene Bücher finden, bei denen der Preis ungleich Null ist, die aber nicht nachgefragt werden, daher der Befehl SELECT Buch.Titel, Buch.Preis, Auftragspos.Menge, SUM(Buch.Preis * Auftragspos.Menge) FROM Buch , Auftrag, Auftragspos WHERE (Auftragspos.Auftragsnummer = Auftrag.Nr) AND (Buch.Nr = Auftragspos.Buchnummer) AND Buch.Preis > 0 GROUP BY Buch.Titel ORDER BY 4 ASC Ergebnis (Ausschnitt) Uebungskontor Hotel-/Gastgew. Textverarbeitung heute II/2 Chemie 2. Organische Chemie Nun wollen wir die Renner und Lagerhüter finden. Als Renner können wir so eine Publikation definieren, die hohe Bestellzahlen aufweist. SELECT Buch.Titel, Buch.Verlag,Auftragspos.Menge FROM Buch, Auftragspos WHERE (Auftragspos.Buchnummer = Buch.Nr) AND Auftragspos.Menge >230 GROUP BY Auftragspos.Menge ORDER BY 3 DESC Dieser Befehl führt zu folgendem Ergebnis. Titel Verlag Menge KFZ Arbeitsblaetter Motor manz 243 ABC Reise Druckschr./Schulschr. wpr 242 Welcome 1 - Lehrbuch manz 241 Tischler - Werkzeuge & Maschinen oev 240 Math.1 wpr 239 Deutsch 1 f.HAK/HAS oev 238 Kleidung und Mode oev 237 Baubetriebslehre 3 manz 236 Moderne Textverarbeitung 2 oev 235 Hoeren und Gestalten 2 oev 234 Ang. Math.3 oev 233 Mathematik erleben 1 manz 232 Decouvertes Cours intensif 1 oev 231 Nun können wir auch solche Bücher finden, die kaum nachgefragt werden: SELECT Buch.Titel, Buch.Verlag,Auftragspos.Menge FROM Buch, Auftragspos WHERE (Auftragspos.Buchnummer = Buch.Nr) AND Auftragspos.Menge < 10 GROUP BY Auftragspos.Menge ORDER BY 3 ASC Wir erhalten folgenden Tabelle Titel Verlag Menge Petra und Paul oev 1 Von der Physik 2 oev 2 Gitarre spielen und verstehen hoe 3 Baukonstruktionslehre 5 manz 4 Betriebswirtschaft II HAK manz 5 Cestina 2 CD (2) oev 6 Die Gute Nachricht. Die Bibel kbw 7 DUE oev 8 Praxis der Altenpflege manz 9 Als Kontrolle habe ich folgenden Befehl eingegeben SELECT Buch.Titel, Auftrag.Nr,Auftragspos.Menge FROM Buch , Auftrag, Auftragspos WHERE (Auftragspos.Auftragsnummer = Auftrag.Nr) AND (Buch.Nr = Auftragspos.Buchnummer) AND Buch.Titel LIKE'%KFZ Arbeitsblaetter Motor%' Und diese Tabelle erhalten Titel Nr Menge KFZ Arbeitsblaetter Motor 11 243 KFZ Arbeitsblaetter Motor 216 54 KFZ Arbeitsblaetter Motor 328 3 Ich vermute daher, dass meine Ergebnisse nicht ganz richtig sind, da sie nur einzelne Bestellungen berücksichtigen und nicht die Bestellsummen der jeweiligen Publikation. Ich habe alles mögliche versucht, diesen Fehler zu beheben, aber ohne Erfolg. Falls jemand eine Idee hat, wie kann ich diese Probleme lösen, kann er gerne einen Vorschlag als Kommentar zu diesem Artigel hinzufügen. Für jede Idee bin ich dankbar. Resume Wie bereits erwähnt, wir können die Bücher mit dem höchsten Deckungsbeitrag nicht bestimmen. Falls wir jedoch fixen Gewinnaufschlag annehmen, sollten wir uns auf teure Bücher spezialisieren. Bei gleich viel Arbeit (gleich viele verkaufte Bücher) würden wir einen höheren Gewinn haben als bei billigen Büchern. Man sollte also solche Bücher finden, wo sowohl Absatz als auch Preis relativ hoch sind, wie z.B. bei SELECT Buch.Titel, Buch.Preis, Auftragspos.Menge, Buch.Preis * Auftragspos.Menge as Umsatz FROM Buch , Auftrag, Auftragspos WHERE (Auftragspos.Auftragsnummer = Auftrag.Nr) AND (Buch.Nr = Auftragspos.Buchnummer) AND Buch.Preis > 30 AND Auftragspos.Menge > 200 GROUP BY Buch.Titel ORDER BY 4 DESC Bücher, die nicht nachgefragt werden sollte man nicht mehr verkaufen, da sie nur Lagerkosten verursachen. ... comment |
Online for 6458 days
Last update: 2007.06.26, 09:44 status
You're not logged in ... login
menu
search
calendar
recent updates
Klausurvorbereitung
1.Umsätze je Region desc select PLZ.Region, sum(Buch.Preis*Auftragspos by kamil.flieger.Uni-Linz (2007.06.26, 09:44) Buchtitel:
Buchtitel: by kamil.flieger.Uni-Linz (2007.06.25, 06:55) Beispiele:
Bitt
Beispiele: Bitt by kamil.flieger.Uni-Linz (2007.06.24, 18:29) Aufgabe 5
Angabe: "disruptive Wirkung auf die Geschäftsmodelle"... by kamil.flieger.Uni-Linz (2007.05.20, 23:04) SQL Abfragen - Aufgabe...
Meiner Meinung nach sind die guten Artikel jene Produkte,... by kamil.flieger.Uni-Linz (2007.04.16, 22:57) |