Ich habe zwei Tabellen, ein "Master" ist eine Master-Liste von Namen und das zweite "Szenario" ist eine Liste von mehreren Szenarien für jeden Namen aus der Master-Liste . Ich möchte, dass meine INNER JOIN
-Abfrage die Master-ID-Liste mit dem Spaltenstatus aus der Tabelle "scenario" abruft, aber nur den neuesten Status basierend auf szearID. Hier ist der Code, den ich versucht habe und Tabellen mit den gewünschten AusgangSQL Inner Join auf einer Spalte basierend auf Max Wert aus einer anderen Spalte
SELECT DISTINCT a.[user], a.ID, a.Name, b.status
from master a
INNER JOIN scenario b ON a.ID = b.ID
WHERE
b.scenarioID = (
SELECT max(scenarioID) FROM scenario c2 WHERE c2.ID=c.ID)
Meister
ID user Name
425 John Skyline
426 John Violin
427 Joe Pura
Szenario
ID ScenarioID status
425 1 active
425 2 active
425 3 done
426 1 active
426 2 active
427 1 done
Wunsch Ausgang
ID user Name status
425 John Skyline done
426 John Violin active
427 Joe Pura done
http://stackoverflow.com/questions/1313120/retrieving-the-last-record-in-each-group ist für MySQL nicht SQL-Server, so gibt es verschiedene Möglichkeiten, das Problem zu lösen. Auch diese Frage bezieht sich auf den letzten Datensatz, während die doppelte Frage versucht, den letzten innerhalb einer Tabelle zu erhalten. –