Ho due tabelle, un "master" è un elenco principale di nomi e il secondo "scenario" è un elenco di più scenari per ciascun nome dall'elenco principale . Voglio che la mia query INNER JOIN
recuperi l'elenco principale di ID con lo stato della colonna dalla tabella "scenario" ma solo lo stato più recente basato su scenarioID. Ecco il codice che ho provato e tavoli con output desideratoSQL inner join su una colonna in base al valore massimo da un'altra colonna
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)
Maestro
ID user Name
425 John Skyline
426 John Violin
427 Joe Pura
Scenario
ID ScenarioID status
425 1 active
425 2 active
425 3 done
426 1 active
426 2 active
427 1 done
output desiderato
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 è per mysql server non SQL così ci sono diversi modi per risolvere il problema. Anche questa domanda implica l'adesione all'ultimo record mentre la domanda duplicata sta solo cercando di ottenere l'ultimo all'interno di un tavolo. –