WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.10.2006, 21:27   #1
Cindy
Senatorin
 
Registriert seit: 27.12.1999
Beiträge: 1.028


Cindy eine Nachricht über ICQ schicken
Daumen hoch 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
____________________________________
Ich bin zwar nicht getauft, dafür aber geimpft
__________________
Wenn es stimmt, dass Not die Mutter der Erfindung ist, dann ist mit Sicherheit Unvernunft die Großmutter der Verzweiflung
__________________
If you can\'t dazzle \'em with brilliance, baffle \'em with bullshit.
Cindy ist offline   Mit Zitat antworten
Alt 27.10.2006, 21:28   #2
Cindy
Senatorin
 
Registriert seit: 27.12.1999
Beiträge: 1.028


Cindy eine Nachricht über ICQ schicken
Standard

und tcust
____________________________________
Ich bin zwar nicht getauft, dafür aber geimpft
__________________
Wenn es stimmt, dass Not die Mutter der Erfindung ist, dann ist mit Sicherheit Unvernunft die Großmutter der Verzweiflung
__________________
If you can\'t dazzle \'em with brilliance, baffle \'em with bullshit.
Cindy ist offline   Mit Zitat antworten
Alt 28.10.2006, 12:24   #3
delphirocks
bitte Mailadresse prüfen!
 
Registriert seit: 17.03.2002
Beiträge: 198


Standard

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)
delphirocks ist offline   Mit Zitat antworten
Alt 28.10.2006, 17:17   #4
Cindy
Senatorin
 
Registriert seit: 27.12.1999
Beiträge: 1.028


Cindy eine Nachricht über ICQ schicken
Standard

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?
____________________________________
Ich bin zwar nicht getauft, dafür aber geimpft
__________________
Wenn es stimmt, dass Not die Mutter der Erfindung ist, dann ist mit Sicherheit Unvernunft die Großmutter der Verzweiflung
__________________
If you can\'t dazzle \'em with brilliance, baffle \'em with bullshit.
Cindy ist offline   Mit Zitat antworten
Alt 29.10.2006, 09:23   #5
delphirocks
bitte Mailadresse prüfen!
 
Registriert seit: 17.03.2002
Beiträge: 198


Standard

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...
delphirocks ist offline   Mit Zitat antworten
Alt 29.10.2006, 10:54   #6
xpla
Elite
 
Registriert seit: 19.12.2003
Beiträge: 1.210


Standard

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 ist offline   Mit Zitat antworten
Alt 29.10.2006, 11:15   #7
xpla
Elite
 
Registriert seit: 19.12.2003
Beiträge: 1.210


Standard

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 ...
xpla ist offline   Mit Zitat antworten
Alt 29.10.2006, 13:29   #8
Cindy
Senatorin
 
Registriert seit: 27.12.1999
Beiträge: 1.028


Cindy eine Nachricht über ICQ schicken
Standard

cool, danke schön
____________________________________
Ich bin zwar nicht getauft, dafür aber geimpft
__________________
Wenn es stimmt, dass Not die Mutter der Erfindung ist, dann ist mit Sicherheit Unvernunft die Großmutter der Verzweiflung
__________________
If you can\'t dazzle \'em with brilliance, baffle \'em with bullshit.
Cindy ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:03 Uhr.


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