Re: [postgresql-it] Query complicata su una tab del personale per utenti attivi.

  • From: Daniele Frigo <daniele.frigo@xxxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Tue, 3 Jun 2014 11:23:51 +0200

Non sono d'accordo sulla seconda condizione: un assunto al 1° gennaio e
licenziato al 1° febbraio rispetterebbe entrambe le condizioni, ma non
sarebbe da conteggiare tra i dipendenti in essere al 30 giugno.




On Tue, Jun 3, 2014 at 11:19 AM, Luca Ferrari <fluca1978@xxxxxxxxxxx> wrote:

Ciao,

2014-05-19 12:31 GMT+02:00 Francesco Loreti <
francesco.loreti@xxxxxxxxxxxxxxx>:
Select * from users where (data_inizio <= '2014/12/31') and
(data_scadenza
between <= '2014/12/31'  or data_scadenza is null)

A parte l'errore di sintassi (between di troppo) io direi che la
condizione su data_scadenza sia:
1) is null
2) oppure sia maggiore di data_inizio
non credo che data_scadenza debba essere inferiore al 31/12, oppure
non ho capito lo scopo del campo.
Inoltre penserei a tenere una tabella "parallela" ove memorizzare
inizio e fine contratto di una persona perché, a meno che non cambi la
matricola (o identificativo della persona/contratto), un licenziato e
riassunto ti vanifica lo storico dei tuoi campi.

Luca
_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it

Other related posts: