Hallo Zusammen,
ich verzweifle schon seit einigen Tagen an einer abfrage.
Ich habe eine Tabelle mit den Spalten ID, MID, DATE und REASON.
Was ich jetzt möchte ist eine Abfrage wo die MID's gruppiert sind und dazu den jüngsten REASON Eintrag.
Was ich hinbekommen habe ist das ich nur den aktuellsten Eintrag bekomme aber nicht von jeder MID
SELECT distinct
TABELLE.MID
FROM (TABELLE
left join TABELLE a2 on a2.Id = TABELLE.id)
where a2.DATE = (select max(DATE) from TABELLE)
es erscheint mir auch logisch das nur ein wert zurück kommt.
Ich hoffe jemand kann mir helfen...
Ich nutze MSSQL 2014 und die Spalten sind alles INTEGER
Grüße Appa1990
edit:
ich glaube ich hab es hinbekommen...
SELECT distinct
a.[MID],
a.REASON
FROM TABELLE a
where a.DATE = (select max(b.DATE) from TABELLE b where a.MID = b.MID)
Order by MID
ich verzweifle schon seit einigen Tagen an einer abfrage.
Ich habe eine Tabelle mit den Spalten ID, MID, DATE und REASON.
Was ich jetzt möchte ist eine Abfrage wo die MID's gruppiert sind und dazu den jüngsten REASON Eintrag.
Was ich hinbekommen habe ist das ich nur den aktuellsten Eintrag bekomme aber nicht von jeder MID
SELECT distinct
TABELLE.MID
FROM (TABELLE
left join TABELLE a2 on a2.Id = TABELLE.id)
where a2.DATE = (select max(DATE) from TABELLE)
es erscheint mir auch logisch das nur ein wert zurück kommt.
Ich hoffe jemand kann mir helfen...
Ich nutze MSSQL 2014 und die Spalten sind alles INTEGER
Grüße Appa1990
edit:
ich glaube ich hab es hinbekommen...
SELECT distinct
a.[MID],
a.REASON
FROM TABELLE a
where a.DATE = (select max(b.DATE) from TABELLE b where a.MID = b.MID)
Order by MID
Zuletzt bearbeitet: