>Buona sera a tutto il forum,
>stò sviluppando un applicazione per il calcolo degli stipendi,
Ciao,
secondo me, in un contesto come quello che ci presenti, risolvi con una query di questo tipo:
SELECT TOP 1 *
FROM stipendio
WHERE decorrenza =< '2015-08-01'
order by decorrenza DESC;
L'esempio sopra assume che tu utilizzi SQLServer, su MySql si deve usare "LIMIT" mentre su Oracle "ROWNUM". Ecco alcuni esempi:
SQLServer:
SELECT TOP 3 * FROM CUSTOMERS;
MySQL:
SELECT * FROM CUSTOMERS LIMIT 3;
Oracle:
SELECT * FROM CUSTOMERS WHERE ROWNUM <= 3;
Ciao
>Il problema è che non so come scrivere la select per farmi restituire
>i record corretti.
>Esempio:
>Tabella stipendio
>decorrenza 01/01/2013 livello 7 importo 925,00
>decorrenza 01/01/2016 livello 7 importo 1000,00
>decorrenza 01/03/2016 livello 7 importo 1250,00
>
>quando eseguo la select vorrei ottenere:
>se filtro per il mese agosto 2015 dovrei ottenere per il livello
>7 l'importo di 925,00
>se filtro per il mese gennaio 2016 dovrei ottenere per il livello
>7 l'importo di 1000,00
>se filtro per il mese febbraio 2016 dovrei ottenere per il livello
>7 l'importo di 1000,00
>se filtro per il mese marzo 2016 dovrei ottenere per il livello
>7 l'importo di 1250,00
>
>e cosi via
>
>spero in un aiuto grazie in anticipo
>
>Mau67
Sanghino
--------------------------
www.extrageek.com