SQL Datentabellen verknüpfen und sortieren

Rocksoniix

Neuer Benutzer
Beiträge
4
Hallo zusammen,

ich habe eine Aufgabe wo ich nicht weiterkomme. Ich muss bei w3schools mit SQL Datenbanken verknüpfen, der Link ist hier: (SQL Tryit Editor v1.6). Dort sind die einzelnen Kategorien oben rechts auch aufgeführt.
Meine Aufgabe ist: "Geben Sie eine Tabelle mit den Gesamt‐Umsatzwerten der Kunden für jedes Land. Sortieren Sie alphabetisch nach den Ländern."

Kann mir da bitte jemand weiterhelfen? Habe heut das erste mal mit SQL gearbeitet und blicke nicht durch..

Vielen Dank im Voraus!
 
Werbung:
Aggregats-Funktionen und das Grou-By-Prinzip denke ich benötigst du hier.

Beispiel:
Code:
insert into tabelle(land, umsatz) values (1, '100');
insert into tabelle(land, umsatz) values (1, '100');
insert into tabelle(land, umsatz) values (2, '100');

select land, sum(umsatz) from tabelle group by land order by land;

wobei die Sum-Funktion die Summe (Aggregats-Funktion) bildet, und das group by ansagt, dass die Summen je Land gezählt werden sollen.

Als Ergebnis sollte dann folgendes rauskommen:
Code:
Land - Umsatz
1 - 200
2 - 100

Hoffe ich hilft dir ;)

EDIT: das order by im select vergessen gehabt...
 
Erstmal vielen dank für die antwort!
Ich habe den umsatz nicht in den tabellen angegeben sondern nur den preis und die menge. Kann ich das irgendwie einbauen das er das selbst rechnet oder muss ich das vorher einzelnd selbst berechnen und einttagen?

Liebe grüße!:)
 
Ich habe den umsatz nicht in den tabellen angegeben sondern nur den preis und die menge. Kann ich das irgendwie einbauen das er das selbst rechnet oder muss ich das vorher einzelnd selbst berechnen und einttagen?
Datenbankanken können, welch Überraschung, auch rechnen. Dazu einfach, wie im normalen Leben, preis MAL menge rechnen. Das kannst Du im SELECT machen, also z.B. SELECT preis, menge, preis*menge as umsatz ...
 
beliebige Tabelle erstellen und Werte einfügen:
Code:
create table tabelle(land integer, stück integer, stückpreis numeric);
insert into tabelle values(1, 2, '4.5');
insert into tabelle values(1, 2, '4.5');
insert into tabelle values(2, 1, '4.5');

Die Werte in einer Abfrage mit Rechen- sowie Aggregats-Funktionen einsetzen:
Code:
select land, sum(stück*stückpreis) from tabelle group by land;

Ergebnis:
Code:
 land | sum
------+------
    1 | 18.0
    2 |  4.5
 
Danke auch dafür.
Leider klappt das bei mir nicht ganz. Ich hoffe ich verlange nicht zu viel, aber meinst du du kannst dir die Aufgabe auf der Seite mal anschauen und versuchen zu lösen? Der Link zur Seite ist (SQL Tryit Editor v1.6).
Dort gibt es die Möglichkeit einen SQL Code einzugeben. Oben rechts ist die Database aus der die Daten entnommen werden sollen.
Die Aufgabe ist wie oben beschrieben: "Geben Sie eine Tabelle mit den Gesamt‐Umsatzwerten der Kunden für jedes Land. Sortieren Sie alphabetisch nach den Ländern."

Damit wäre mir sehr geholfen, ich krieg es nicht hin..

Danke!..:)
 
Ich sage ein paar Stichworte, Seminar beginnt bald.

0.: Ist die Aufgabe "Geben sie eine Tabelle mit den Werten an" oder "GeGEben ist eine Tabelle mit den Werten" ?
1.: Joins (mehrere Tabellen miteinander verbinden)
2.: Group by (gleiche Werte zusammenfügen)
3.: Order by (die abgefragten Datensätze sortieren)

Vl. bis heute Abend...
 
Die Aufgabe ist genauso gestellt wie in dem Fett-gedrucktem.
Ich habe nach langem rumfuchteln folgende Lösung gefunden:

SELECT CustomerName, ProductName, Quantity, Price, Quantity * Price AS Umsatz, Country FROM Orders
LEFT JOIN OrderDetails
ON OrderDetails.OrderID = Orders.OrderID
LEFT JOIN Products
ON OrderDetails.ProductID = Products.ProductID
LEFT JOIN Customers
ON Orders.CustomerID = Customers.CustomerID
ORDER BY Country

Kannst du denn auf die verschiedenen Datenbanken zugreifen?

Liebe Grüße :)
 
Werbung:
also ich hatte eine ähnliche Antwort auch schon. Wurde als falsch angezeigt - okay. Ich nix M$SQL, hatte einen Syntaxfehler vermutet. Da ich M$SQL nicht verwende habe ich es dann damit bewenden lassen ...
 
Zurück
Oben