• 22.08.2025, 14:39
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

aqua--modder

Full Member

mySQL - Tabellen Verknüpfen

Donnerstag, 11. Mai 2006, 13:09

Hallo Leute,
habe ein kleines Problem mit mySQL.
habe eine Datenbank mit dem Namen "Wonisch" und in dieser möchte ich von 2 Tabellen folgendermaßen abfragen:
Tabelle "Verkauf":
Abzufragende Spalten:

Kunde_Nr
Wert

Tabelle "Kunden"

Abzufragende Spalten:

Kunde_Nr
Vorname
Nachname


Als Ergebnis der Abfrage soll rauskommen

Kunde_Nr Vorname Nachname Summe(Umsatz des Kunden)

Als Sytax habe ich eingegeben:

SELECT Verkauf.Kunde_Nr, Kunden.Vorname, Kunden.Nachname, SUM( Wert ) AS Umsatz
FROM Verkauf, Kunden
GROUP BY Verkauf.Kunde_Nr
ORDER BY Umsatz DESC

Das Problem ist, dass bei dem Vornamen und Nachnamen immer der Selbe Name ausgegeben wird, bei jedem kunden, weiters rechnet der SQL nicht richtig:

Kunde_Nr Vorname Nachname Umsatz
2 pepo steiner 440100
4 pepo steiner 405180
1 pepo steiner 160536
3 pepo steiner 151488
6 pepo steiner 91080
5 pepo steiner 11040

wenn ich jedoch die verknüpfung weglasse und nur aus der einen Tabelle (Verkauf) auslese mit folgendem Sytax:

SELECT Kunde_Nr, SUM(Wert) AS Umsatz FROM Verkauf GROUP BY Kunde_Nr ORDER BY Umsatz DESC;

Kunde_Nr Umsatz
2 73350
4 67530
1 26756
3 25248
6 15180
5 1840

Das wären die Richtigen Werte, allerdings brauche ich aus der anderen Tabelle Vorname und Nachname

würde mich freuen, wenn ihr mir helfen könntet ;)
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden

DAP

God

Re: mySQL - Tabellen Verknüpfen

Donnerstag, 11. Mai 2006, 13:57

Quellcode

1
2
SELECT Verkauf.Kunde_Nr, Kunden.Vorname, Kunden.Nachname, SUM( Wert ) AS Umsatz 
FROM Verkauf INNER JOIN Kunden ON Verkauf.Kunde_Nr = Kunden.Kunde_Nr


Sollte funktionieren :)

aqua--modder

Full Member

Re: mySQL - Tabellen Verknüpfen

Donnerstag, 11. Mai 2006, 14:02

servus .dap, danke für deine Hilfe, hat funktioniert, nur am Ende hat "GROUP BY Verkauf.Kunde_Nr"
gefehlt.
viel spaß noch
cya
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden

Y0Gi

God

Re: mySQL - Tabellen Verknüpfen

Donnerstag, 11. Mai 2006, 15:04

Oder deutlich kürzer mit Aliasen (weiterer Vorteil: Tabellennamen kommen nur einmalig im Query vor und können so im Fall der Fälle einfacher geändert werden) und USING:

Quellcode

1
2
3
4
SELECT v.Kunde_Nr, k.Vorname, k.Nachname, SUM(v.Wert) AS Umsatz  
FROM Verkauf v
    INNER JOIN Kunden k USING (Kunde_Nr)
GROUP BY v.Kunde_Nr;

Es empfiehlt sich zudem, bei Verwendung mehrerer Tabellen immer alle Spaltennamen mit Präfixen zu sehen (in diesem Falle fehlte der bei Wert), damit man auch ohne Kenntnis des Schemas genau weiß, wo die herkommen.

aqua--modder

Full Member

Re: mySQL - Tabellen Verknüpfen

Donnerstag, 11. Mai 2006, 22:37

danke nochmal ;)
2 Stück Aquadrive X4 zu verkaufen - einfach per PN melden