SQL Join Problem

wappenhans

Grünschnabel
Guten Morgen die Herren,

vielleicht könnte mir mal wieder jemand bei einem SQL-Problem helfen.

Ich habe folgende SQL-Anweisung:

SELECT dsl_data.auftragsnummer, dsl_data.nachname, dsl_data.vorname, dsl_data.errorcode, dsl_errorcodes.description, max( dsl_data.emailnummer ) AS mailnummer,
dsl_treatment.action , dsl_errorcodes.description
FROM dsl_data
INNER JOIN dsl_treatment ON ( dsl_data.auftragsnummer = dsl_treatment.auftragsnummer )
INNER JOIN dsl_errorcodes ON ( dsl_data.errorcode = dsl_errorcodes.code )
GROUP BY dsl_data-auftragsnummer
ORDER BY dsl_treatment.date DESC

Ziel soll es sein, die Auftragsnummer, Nachname, Vorname usw und auch eine Aktionsnummer, und zwar die des letzten Eintrages in der Tabelle dsl_treatment zu der übergebenen Auftragsnummer zu ermitteln.

Was er nun aber tut, ist mir die erste Aktionsnummer für die jeweilige Auftragsnummer zu übermitteln, die er findet.

Also nochmal genau zur Erklärung:
Auftragsnummer ist in der Tabelle dsl_data mehrmals mit mehreren eMailnummern also 1,2,3 bspw. und auftragsnummer ist auch in der tabelle dsl_treatment mehrmals mit den aktionen zum Auftrag also nummer und aktion 1 oder 2 oder 3 bspw. mit einem zusätzlichen Timestamp. Nehmen wir nun folgendes an.

Wir haben die auftragsnummer 127112, an die wurden die emails 2 und 3 verschickt. und die hat die aktionen 1, 2, 3, und 4, wovon die Aktion 2 die jüngste ist, weil grade getätigt.

Mein ergebnis soll nun sein:

Auftragsnummer 127112 + eMail-Nr 3 + Aktionsnummer 2

Hoffe nun ist es verständlich.

Vielen Dank.
 
Zurück