WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   MySQL Frage (http://www.wcm.at/forum/showthread.php?t=202258)

Cindy 27.10.2006 22:27

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

Cindy 27.10.2006 22:28

und tcust

delphirocks 28.10.2006 13:24

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)

Cindy 28.10.2006 18:17

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?

delphirocks 29.10.2006 10:23

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...:-)

xpla 29.10.2006 11:54

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.

xpla 29.10.2006 12:15

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 ...

Cindy 29.10.2006 14:29

cool, danke schön :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag