Ciao a tutti,
sono nuovo ho bisogno di fare una query che selezioni solo gli ultimi record di una tabella che è in relazione uno a molti con un’altra. Le tabelle sono:
tblAnagrafica:
- IDEsposto (chiave primaria)
- Cognome
- Nome
- DataNascita
- IDQualifica
- ………ecc
tblDatiOccupazionali:
- IDDatiOccupazionali (chiave primaria, contatore)
- IDEsposto (numerico)
- IDSediLavoro
- IDDestinazioneLavorativa
- DataInizioOccupazione
- IDClassificazione (testo)
- IDStatoServizio (testo)
- ……………….ecc
(gli ultimi cinque campi sono popolati con una casella combinata)
Queste due tabelle sono in relazione tra di loro 1 a molti: tblAnagrafica.IDEsposto=tblDatiOccupazionali.IDEsposto
Ho bisogno di fare una query con i campi IDEsposto, Cognome, Nome della tblAnagrafica e alcuni campi dell’ultima riga della tblDatiOccupazionali: IDEsposto, IDSediLavoro, IDDestinazioneLavorativa, DataInizioOccupazione, IDClassificazione, IDStatoServizio.
La riga selezionata della tblDatiOccupazionali deve contenere la data più recente del campo DataInizioOccupazione con i record degli altri campi corrispondenti. Ho provato ad utilizzare nella query la funzione Max per la data e Ultimo per gli altri campi ma i record che ottengo non sono corrispondenti all’ultima riga della tblDatiOccupazionali.
La mia query è la seguente (access 2013):
SELECT tblAnagrafica.IDEsposto, tblAnagrafica.Cognome, tblAnagrafica.Nome, tblAnagrafica.DataNascita, tblAnagrafica.IDQualifica, Last(tblDatiOccupazionali.IDSediLavoro) AS UltimoDiIDSediLavoro, Last(tblDatiOccupazionali.IDDestinazioneLavorativa) AS UltimoDiIDDestinazioneLavorativa, Max(tblDatiOccupazionali.DataInizioOccupazione) AS MaxDiDataInizioOccupazione, Last(tblDatiOccupazionali.IDClassificazione) AS UltimoDiIDClassificazione, Last(tblDatiOccupazionali.IDStatoServizio) AS UltimoDiIDStatoServizio
FROM tblAnagrafica INNER JOIN tblDatiOccupazionali
ON tblAnagrafica.IDEsposto = tblDatiOccupazionali.IDEsposto
GROUP BY tblAnagrafica.IDEsposto, tblAnagrafica.Cognome, tblAnagrafica.Nome, tblAnagrafica.DataNascita, tblAnagrafica.IDQualifica;
Purtroppo non mi dà i record corrispondenti all’ultima riga della tblDatiOccupazionali, mi potete aiutare per favore? Grazie