![]() |
MySQL Frage
So. folgendes:
ich hab zwei tabellen, tretn und tcust tretn hat u.a. die spalten cust(customer no.) und qnty (quantity) tcust hat u.a. die spalten code(entspricht cust. no) und firm (name der firma) soweit sogut. nun soll ich ausgeben, welcher customer die höchste anzahl zurückgegeben hat (tretn = return) in tretn kommen die kunden mehrmals vor, mit verschiedenen mengen. ich hab ja keine probleme, den höchstwert auszugeben nämlich so: SELECT MAX(tab) FROM (SELECT tc.firm, SUM(tr.qnty) AS tab FROM tretn tr JOIN tcust tc ON tr.cust = tc.code GROUP BY tc.firm) AS Tabelle aber wie geb ich dann den kundennamen dazu aus??? danke für die hilfe lg cin |
und tcust
|
Ich würd's einfach mit 2 Views machen:
1. create view customer_summen as select cust,sum(qnty) as summe from tretn group by cust 2. select tcust.name,customer_summen.cust,customer_summen.su mme from tcust inner join customer_summen on tcust.cust=customer_summen.cust where summe= (select max(summe) from customer_summen) |
Dank Dir für die Hilfe :) so hab ich zumindest ein Ergebnis. Hast Du auch eine Idee, wie ich das in einer Abfrage machen kann?
|
SELECT t.cust, sum([t.qnty]) AS summe, c.name
FROM tretn AS t INNER JOIN tcust AS c ON t.cust=c.cust GROUP BY t.cust, c.name HAVING sum(t.qnty)= ( SELECT max(summe) FROM (SELECT sum([qnty]) as summe FROM tretn GROUP BY [cust] ) ); Ob das in MySql auch so funktioniert, kann ich dir aber nicht wirklich sagen. Only one way to find out...:-) |
Da ich grad keine Zeit habe, deine Datenbank nachzubauen, erstell die Abfrage einfach in MS Access und lass dir den SQL-Code anzeigen, ansonsten wie mein Vorposter schon geschrieben hat benötigst du einen JOIN, welchen, kann ich jetzt grad net sagen, aber wenn beide eine gemeinsame CUST ID haben dürfte ein normaler INNER JOIN funktionieren.
|
SELECT tretn.cust, tretn.prod, tretn.expl, tretn.qnty
FROM tcust INNER JOIN tretn ON tcust.cust = tretn.cust Sprich mein Vorposter hat eh schon den richtigen INNER JOIN gepostet ... |
cool, danke schön :D
|
| Alle Zeitangaben in WEZ +2. Es ist jetzt 17:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag