Problema query

martedì 08 settembre 2009 - 09.27

Anonimo Profilo | Senior Member

Ciao a tutti!
Ho un problema nel fare una query. Innanzitutto vi dico com'è formata la tabella in questione.

id_timesheet (mm/aaaa)
id_dipendente
data_timesheet (gg/mm/aaaa)
cod_arca (codice cliente)
cod_commessa
ore (ore lavorate in quel giorno dal dipendente)

Bene. Il mio obbiettivo è creare una select che estragga, da quella tabella, sulla prima colonna, tutti i dipendenti esistenti. Dopodiché la somma delle ore di un singolo dipendente per ogni mese. Per esempio il dipendente pippo ha lavorato nel mese di gennaio 160 ore, nel mese di febbraio 140.. e così via.
Giusto per avere un'idea più chiara di dove voglio arrivare e mostrarvi il mio problema ecco la query che sono riuscito a fare:


SELECT ID_Dipendente, Gennaio = CASE WHEN (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '01/2009')<25 OR (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '01/2009') IS NULL THEN 'INCOMPLETO' ELSE 'COMPLETO' END, Febbraio = CASE WHEN (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '02/2009')<25 OR (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '02/2009') IS NULL THEN 'INCOMPLETO' ELSE 'COMPLETO' END, Marzo = CASE WHEN (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '03/2009')<25 OR (SELECT SUM(Ore) FROM Timesheet WHERE ID_Timesheet = '03/2009') IS NULL THEN 'INCOMPLETO' ELSE 'COMPLETO' END FROM Timesheet GROUP BY ID_Dipendente

Mi restituisce una select simile a quella che voglio ma non del tutto giusta, perché così facendo per ogni cella delle ore mi restituisce la somma di tutte le ore presenti nella tabella, quindi senza "discriminazioni", anche se con dipendenti diversi. Invece vorrei leggere da questa select la somma delle ore di un dipendente in un certo mese.
Potete aiutarmi? Io uso SQL Server '05 Express.
----------------------------------------------

Allan Felipe
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5