4 messages in com.mysql.lists.mysql-deProbleme bei einer Query
FromSent OnAttachments
Tim14 Nov 2006 04:31 
Felix Antonius Wilhelm Ostmann14 Nov 2006 05:38 
Daniel Penning14 Nov 2006 06:28 
Tim15 Nov 2006 06:46 
Subject:Probleme bei einer Query
From:Tim (TCon@gmx.net)
Date:11/14/2006 04:31:38 AM
List:com.mysql.lists.mysql-de

Hallo zusammen,

ich habe doch noch mal ein Problem mit einer SQL-Query und wollte mal höflich nachfragen, ob mir da vielleicht jemand auf die Sprünge helfen kann.

Also ich habe zwei Tabellen, die in einer 1:n Beziehung stehen. In der N-Tabelle befinden sich Datensätze, die einen aufsteigenden Status besitzen. Ein Beispiel:

1-Tabelle: id data1 data2 ...

1 xxx nnn 2 nnn fff

N-Tabelle: if foreign_id status [...]

1 1 1 2 1 2 3 1 3 4 2 1 5 2 2

In der N-Tabelle gibt es also einen maximalen Status von 3 für 1-Datensatz mit ID 1 und einen maximalen Status von 2 für den 1-Datensatz mit der ID 2

Was ich nun schon länger versuche, ist eine Join-Verknüpfung aufzusetzen, die mir jeweils immer nur die Daten für den maximalen Status rauswirf.

Also

SELECT 1-Tabelle.* FROM 1-Tabelle as A INNER JOIN 2-Tabelle as B ON A.id = B.foreign_id -> Holt mir alle Datensätze und zeigt einzelne Zeilen aus der 1-Tabelle mehrfach an

SELECT 1-Tabelle.* FROM 1-Tabelle as A INNER JOIN 2-Tabelle as B ON A.id = B.foreign_id GROUP BY A.id -> Zeigt die Daten der 1-Tabelle nur einmal an, hat aber die Inhalte der N-Tabelle mit dem niedrigsten Status, was ich aber gerade nicht brauche...

Wie also könnte ich die Query so umschreiben, dass ich immer nur die Daten der N-Datensätze mit dem jeweils maximalsten Status bekomme?