4 messages in com.mysql.lists.mysql-deProbleme bei einer Query| From | Sent On | Attachments |
|---|---|---|
| Tim | 14 Nov 2006 04:31 | |
| Felix Antonius Wilhelm Ostmann | 14 Nov 2006 05:38 | |
| Daniel Penning | 14 Nov 2006 06:28 | |
| Tim | 15 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?
Liebe Grüße Tim




