Umsetzung DRL (Verzweifelte Studenten auf Lösungssuche)

lensss

Neuer Benutzer
Beiträge
4
Hallo, meine Kollegen und ich sind etwas verzweifelt auf der Suche nach diversen Lösungen. Wir freuen uns über jegliche Hilfe. Aufgabe 1 hatten wir noch lösen können. Wir suchen nach für euch vermutlich sehr simplen Lösungen, wir haben nur unsere erste Vorlesung und haben dieses Fach auch nur falls wir uns für diese Spezialisierung entscheiden sollten.

Dies ist die Angabe:

Übung:
Die über die bereitgestellten SQL Befehle angelegte Datenbank zu „Orders“ soll zur Beantwortung folgender Geschäftsfragen herangezogen werden.
Formulieren Sie die dazugehörigen SQL-Abfragen:

Aufgabe 2:
Was ist das meist verkaufte Produkt?
Aufgabe 3:
Was sind die Umsätze pro Kunde über alle Bestellungen hinweg?
Aufgabe 4:
Was ist das umsatzstärkste Produkt?
Aufgabe 5:
Geben Sie Kunden (Nummer, Vorname, Nachname) deren Bestellungen (Nummer) und die Anzahl der Bestellpositionen je Bestellung an.
Zusatz: Berücksichtigen Sie nur Bestellungen die im Jänner 2017 bezahlt wurden.
 
Werbung:
---Übung 2:
SELECT * FROM order_items;

SELECT MAX (amount)
FROM order_items;

SELECT (p.name)
FROM products p, order_items o
WHERE p.product_id=o.product_id;


SELECT (name)
FROM products,order_items
WHERE amount=299;

SELECT p.name , o.amount
FROM products p JOIN order_items o
ON p.product_id=o.order_item_id
WHERE SELECT MAX (amount)
FROM order_items;


SELECT distinct o.order_id, p.name
FROM order_items o, products p
WHERE o.product_id=p.product_id
ORDER BY amount;

Einige unserer Versuche für Übung 2, bei dem Rest hatten wir noch nicht einmal Ideen Ansätze.

Wir sind Studenten Kollegen und leider sehr verwirrt. Das Hauptthema unseres Studiengangs ist hauptsächlich Marketing, wenn man sich jedoch auf Datenbankverwaltung spezialisiert braucht man dieses Fach. Wir werden nur alle eine andere Spezialisierung wählen und haben dementsprechend nicht wirklich ein Talent für solche Dinge.
 
ist ja schon mal ein Anfang. Und nun installieren sich die Kollegen eine schönes PostgreSQL-Datenbank und probieren praktisch aus, was bei rauskommt ...
 
es hilft euch auch nicht weiter, wenn ich jetzt Eure Tabellendefinitionen errate und mir basierend darauf eine Lösung auf Eure Fragen ausdenke. Lerneffekt für Euch wäre gleich NULL.
 
Ja danke, nur arbeiten wir seit 2 Stunden daran ohne Ergebnisse. Es wäre zumindest nett gewesen uns
Tipps zu geben in welcher Richtung wir suchen müssen statt bevormundend zu werden. Wir werden nun unseren Vortragenden darum bitten die benötigten Kompetenzen zu wiederholen.
 
zu deinen Versuchen:

* SELECT * FROM order_items; liefert alles aus der genannten Tabelle
* SELECT MAX (amount) FROM order_items; liefert den größten amount aus der Tabelle. Falls das für 2. ist: wird ein Produkt in 5 Bestellungen je 1 mal bestellt und ein anderes wird in einer Bestellung 3 mal bestellt, würde hier das 3 mal bestellte gewinnen. Ist das im Sinne der Aufgabe?
* SELECT (name) FROM products,order_items WHERE amount=299; das ist ein versteckter CROSS JOIN, weil zu Deinem implizieten JOIN keine JOIN-Condition besteht
* SELECT p.name , o.amount FROM products p JOIN order_items o ON p.product_id=o.order_item_id WHERE SELECT MAX (amount) FROM order_items; ungetestet, aber sehr sicher Syntaxfehler

wie gesagt: ihr schlagt hier wie eine Gurkentruppe auf und erwartet, daß jemand Eure Hausaufgaben macht. Das wäre für uns mehr oder weniger vielleicht eine Fingerübung, für Euch aber nutzlos, weil exakt NULL Lerneffekt. Eine DB zu installieren geht in wenigen Minuten, mit praktischen Versuchen, via trial & error, lernt man am schnellsten. Konkrete Fragen könnt ihr hier stellen, aber so ist Eure Erwartungshaltung einfach nur ...
 
ich wandle mal 2 etwas ab, ermittle die 3 Top-Produkte.

Code:
postgres=# create table produkt(id int primary key, name text);
CREATE TABLE
postgres=# create table kunde (id int primary key, name text);
CREATE TABLE
postgres=# create table verkauft(id int generated always as identity primary key, produkt int references produkt, kunde int references kunde, datum date, anzahl int);
CREATE TABLE
postgres=# select p.name, sum(v.anzahl) from verkauft v left join produkt p on v.produkt=p.id group by p.name order by sum(v.anzahl) desc limit 3;
 name | sum 
------+-----
(0 rows)

postgres=#

Ende der Fingerübung. Ich habe 3 Tabellen erstellt und eine passende Abfrage. Leeres Resultat, weil Tabellen leer.

Und, alles klar?
 
Ihr postet in MSSQL, habt ihr wirklich eine MSSQL DB am laufen oder habt ihr einfach nur ins erst beste Forum gepostet?

Ohne Tabellendefinition und ohne Testdaten ist das sicherlich schwer. Ich weiß überhaupt nicht was in order_items abgebildet wird.
---Übung 2:
SELECT * FROM order_items;

SELECT MAX (amount)
FROM order_items;

SELECT (p.name)
FROM products p, order_items o
WHERE p.product_id=o.product_id;
Ich rate jetzt mal an der Stelle alles zusammen:
Code:
SELECT TOP 1 p.name,sum(amount) as amount
FROM order_items o
INNER JOIN products p
ON p.product_id = o.product_id
GROUP BY p.name
ORDER BY sum(amount);

Zu den anderen Sachen kenne ich keine Tabellen oder Spaltennamen.
 
Ihr dürft euch natürlich auch eine kostenlose MS SQL Server Express Version installieren und das ganze dort ausprobieren.
wie gesagt: ihr schlagt hier wie eine Gurkentruppe auf und erwartet, daß jemand Eure Hausaufgaben macht. Das wäre für uns mehr oder weniger vielleicht eine Fingerübung, für Euch aber nutzlos, weil exakt NULL Lerneffekt. Eine DB zu installieren geht in wenigen Minuten, mit praktischen Versuchen, via trial & error, lernt man am schnellsten. Konkrete Fragen könnt ihr hier stellen, aber so ist Eure Erwartungshaltung einfach nur ...

Wie gesagt: Beleidigungen deinerseits sind nicht zielführend. Wenn du den Post richtig gelesen hättest (was du nicht hast) würdest du wissen, das NIRGENDS in dem Post drin steht: Wir wollen eine Lösung der Aufgaben haben. Sondern es steht drin, Zitat "Wir freuen uns über jegliche Hilfe". Aber Hauptsache wie immer "Ich bin der tollste PostgreSQL Admin auf der Welt, ich kenn/kann nix anderes weil alles andere doof ist. Und alle anderen außer mir sind auch doof" raushängen lassen. Bringt halt dem OP nix.
 
Werbung:
Hallo, meine Kollegen und ich sind etwas verzweifelt auf der Suche nach diversen Lösungen. Wir freuen uns über jegliche Hilfe. Aufgabe 1 hatten wir noch lösen können. Wir suchen nach für euch vermutlich sehr simplen Lösungen, wir haben nur unsere erste Vorlesung und haben dieses Fach auch nur falls wir uns für diese Spezialisierung entscheiden sollten.

Dies ist die Angabe:

Übung:
Die über die bereitgestellten SQL Befehle angelegte Datenbank zu „Orders“ soll zur Beantwortung folgender Geschäftsfragen herangezogen werden.
Formulieren Sie die dazugehörigen SQL-Abfragen:

Aufgabe 2:
Was ist das meist verkaufte Produkt?
Aufgabe 3:
Was sind die Umsätze pro Kunde über alle Bestellungen hinweg?
Aufgabe 4:
Was ist das umsatzstärkste Produkt?
Aufgabe 5:
Geben Sie Kunden (Nummer, Vorname, Nachname) deren Bestellungen (Nummer) und die Anzahl der Bestellpositionen je Bestellung an.
Zusatz: Berücksichtigen Sie nur Bestellungen die im Jänner 2017 bezahlt wurden.
ich würde euch empfehlen, sucht im Internet. Es gibt genügend und sehr gute SQL Tutorials wo ihr sowas lernen könnt. Hier z.B. SQL Tutorial oder SQL Tutorial - Essential SQL For The Beginners
 
Zurück
Oben