Hallo!
Habe folgendes Problem:
Tabelle A mit ID
Tabelle B mit ID, SubID, Wert, Datum.
+------+----------+-------+---------+
| id | subid | wert | datum |
+------+----------+-------+---------+
|1 |2 |10 | 1.2 |
|1 |2 |20 | 4.2 |
|1 |3 | 1 | 4.9 |
|1 |4 | 2 | 2.9 |
Ich möchte zu jeder ID aus Tabelle A den neuesten Wert, zu jeder SubID
Das Problem dabei ist dass weder id noch subid eindeutig sind, d.h. zu jeder ID kann es mehrer SubIDs geben.
Von diesen Einträgen möchte ich nur den Neuesten.
Ich würde die Tabelle gerne vorselektieren, wenn ich allerdings einen Subselect mache, dann komme ich nicht an den Wert, da ich diesen in die Group By Klausel schreiben muss... (wieso eigentlich?)
SELECT id,subid,MAX(datum)
FROM B
GROUP BY id,subid
Alternativ könnte ich statt dem Wert mit dem neuesten Datum auch den höchsten Wert nehmen.
Hat jemand ne Idee?
Bin echt am verzweifeln...
Habe folgendes Problem:
Tabelle A mit ID
Tabelle B mit ID, SubID, Wert, Datum.
+------+----------+-------+---------+
| id | subid | wert | datum |
+------+----------+-------+---------+
|1 |2 |10 | 1.2 |
|1 |2 |20 | 4.2 |
|1 |3 | 1 | 4.9 |
|1 |4 | 2 | 2.9 |
Ich möchte zu jeder ID aus Tabelle A den neuesten Wert, zu jeder SubID
Das Problem dabei ist dass weder id noch subid eindeutig sind, d.h. zu jeder ID kann es mehrer SubIDs geben.
Von diesen Einträgen möchte ich nur den Neuesten.
Ich würde die Tabelle gerne vorselektieren, wenn ich allerdings einen Subselect mache, dann komme ich nicht an den Wert, da ich diesen in die Group By Klausel schreiben muss... (wieso eigentlich?)
SELECT id,subid,MAX(datum)
FROM B
GROUP BY id,subid
Alternativ könnte ich statt dem Wert mit dem neuesten Datum auch den höchsten Wert nehmen.
Hat jemand ne Idee?
Bin echt am verzweifeln...
Comment