Ciao a tutti,
Ho questa query da scrivere:
Ricavare il primo artista morto dopo 'Prince' (il risultato deve contenere il nome dell’artista, la sua data di nascita e la sua data di morte) (scrivere due versioni della query).
Vi spiego in breve com'è realizzato il database, tanto per questa query basta una sola tabella:
In pratica ho la tabella con tutti gli artisti e attributi vari, tra cui appunto le date di nascita e di morte.
Io ho scritto una prima versione della query e ho verificato la correttezza. Il problema è che non riesco in nessun modo a trovare una seconda versione, cosa non semplice secondo me dato che si risolve con una sola tabella (quindi senza join ecc)
Vi posto la mia soluzione e vi chiedo se per favore sapete darmi qualche consiglio per scriverne una seconda versione (anche solo eventuali passaggi, poi ci penso io)
PRIMA SOLUZIONE:
select artist.name, make_date(artist.begin_date_year, artist.begin_date_month, artist.begin_date_day) nascita,
make_date(artist.end_date_year, artist.end_date_month, artist.end_date_day) morte
from artist
where make_date(artist.end_date_year, artist.end_date_month, artist.end_date_day) =
(select min(make_date(artist.end_date_year, artist.end_date_month, artist.end_date_day))
from artist
where make_date(artist.end_date_year, artist.end_date_month, artist.end_date_day) >
(select make_date(artist.end_date_year, artist.end_date_month, artist.end_date_day)
from artist
where artist.name = 'Louis Armstrong'));