74 messaggi dal 10 ottobre 2004
Salve,
vorrei creare una query che mi ottenga il numero di ore trascorse tra due intervalli in una tabella così strutturata:

ID, Data, OraInizio, OraFine

Adesso io l'ho impostata in questo modo:

select Convert(varchar(30),OraUscita-OraIngresso,108) As Ore
from Timbratura
where ID=100


e funziona...il guaio è quando ho più righe riferite allo stesso giorno (cosa normalissima trattandosi di timbrature), perché ho varie righe riferite allo stesso giorno...

Come posso fare? Riesco a farlo tramite SQL?
823 messaggi dal 05 agosto 2002
Prova una cosa del genere:

select username, convert(varchar, ora_inizio, 105) giorno_competenza, sum(cast((ora_fine - ora_inizio) as float))*24 ore
from timbrature
group by
convert(varchar, ora_inizio, 105), username

Stick to your guns.
Formazione su MySQL o Firebird? Contattami!
74 messaggi dal 10 ottobre 2004
Ho provato, effettivamente adesso ho una riga per ogni giorno, ma nell'intervallo di ore mi escono cifre assurde.
Inoltre, i giorni in cui c'è stata una sola timbratura non vengono restituiti.

Questa è la query

select CodFiscCons, convert(varchar, oraIngresso, 105) As giorno_competenza, sum(Convert(float,OraUscita-OraIngresso,108))*24
from timbratura 
where CodFiscCons='XXXXXXXXXXYY'
group by 
convert(varchar, oraIngresso, 105), CodFiscCons


e questo quello che mi restituisce

CodFiscCons     giorno_competenza      (null)
---------------------------------------------
XXXXXXXXXXYY     14-03-2005            -922194.67258240748
XXXXXXXXXXYY     15-03-2005            -922241.00166666659
74 messaggi dal 10 ottobre 2004
select convert(varchar(30), Data, 105) As Data, sum(DATEDIFF(day,OraUscita, OraIngresso))
from Timbratura
where CodFiscCons='XXXXXYYYYYX'
group by Data


Visto che a me serve la somma per un consulente alla volta, questa stored mi andrebbe bene, solo se, però, mi eseguisse in maniera decente la somma....infatti mi restituisce numeri interi!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC