SQL Join
michel
- datenbank
0 Harlequin0 michel
0 Vinzenz Mai
Hi,
habe 2 Tabellen (Auftrag, KD_ADR).
Im Auftrag steht die Auftrags-ID (ATID), KundenID (KDID), Außendienstler (ADID), Monatsumsatz (MONATUMSATZ).
In der KD_ADR stehen die KundenID (KDID), Name(NAME1) und PLZ (PLZ) usw..
Jetzt will ich den Monatsumsatz pro Außendienstler mit Kundennamen. Ohne Kundenname wäre es ja:
select AU.ADID AS Außendienst, SUM(AU.MONATUMSATZ) AS "MONATSUMSATZ"
FROM AUFTRAG AU
group by AU.ADID;
Und mit Kundennamen dachte ich:
SELECT AU.ADID, SUM(AU.MONATUMSATZ), KD.NAME1
FROM AUFTRAG AU, KD_ADR KD
WHERE AU.KDID = KD.KDID
GROUP BY AU.ADID
FEHLER: Not a group by expression?
Wo liegt mein Fehler?
Yerf!
FEHLER: Not a group by expression?
Wo liegt mein Fehler?
Du selektierst ein Feld, über das nicht gruppiert wird.
Wie sehen die Daten aus, ist innerhalb einer Gruppe mit der selben AU.ADID der KD.NAME1 immer identisch? Wenn ja: nimm KD.NAME1 noch mit in den GROUP BY auf. Wenn nein: wie soll das Ergebnis aussehen, ein beliebiger, alle, oder anders?
Gruß,
Harlequin
Wie sehen die Daten aus, ist innerhalb einer Gruppe mit der selben AU.ADID der KD.NAME1 immer identisch? Wenn ja: nimm KD.NAME1 noch mit in den GROUP BY auf. Wenn nein: wie soll das Ergebnis aussehen, ein beliebiger, alle, oder anders?
OK, hab es jetzt so gelöst:
SELECT KD.NAME1, AU.ADID, AU.MONATUMSATZ, KD.KDID AS "KundenNR", AU.ATID AS "AuftragsNR", AU.ATDATUM
FROM KD_ADR KD, AUFTRAG AU
WHERE KD.KDID = AU.KDID AND (ATDATUM BETWEEN '01.01.2011' AND '12.03.2011')
Mit entsprechenden Datum.
Problem nur erstmal: Hab einen Kunden XY mit 2 Aufträgen, die zeigt er auch an. Nur zeigt er insgesamt 6 Zeilen an, alle anderen bei NAME1 mit (null) gefüllt. Was stimmt nicht? Iwas mit der where klausel?
Hallo,
habe 2 Tabellen (Auftrag, KD_ADR).
und welches Datenbankmanagementsystem (Access, DB2, MS SQL-Server, MySQL, Oracle, PostgreSQL, ...) in welcher Version?
Im Auftrag steht die Auftrags-ID (ATID), KundenID (KDID), Außendienstler (ADID), Monatsumsatz (MONATUMSATZ).
In der KD_ADR stehen die KundenID (KDID), Name(NAME1) und PLZ (PLZ) usw..Jetzt will ich den Monatsumsatz pro Außendienstler mit Kundennamen.
was verstehst Du darunter?
Eine Liste von Kunden, mit denen die Außendienstler ihren Monatsumsatz gemacht haben?
Etwas anderes?
Ein paar Beispieldatensätze und das gewünschte Ergebnis wären sehr hilfreich.
So verstehe ich nicht, was Du haben möchtest.
Freundliche Grüße
Vinzenz