Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto SQL

Salve a tutti e grazie in anticipo!
Problema: ho una tabella 'GiornateLavorative' , composta dai 
campi -DIPENDENTE, DATA, ORE_LAVORATE, dalla quale estrapolare un elenco che 
mi dia la somma delle ore per giornata lavorativa di ciascun dipendente.
Io ho fatto cosě: "SHAPE {SELECT * " & _
        "FROM GIORNATE" & _
         " WHERE DATA BETWEEN #" & _
        DAL & "#" & _ '<<<<<dal č un dtpicker.value
        " AND" & "#" & _
       AL & "#" & _   '<<<<<<anche al č un dtpicker.value
    " and dipendente IN (" & stringa & ")order by DIPENDENTE,DATA}' 
 >>>>>stringa mi cicla tutti i dipendenti
Ebbene con questa query ho una cosa tipo questa:
   01/01/2005  Mario Rossi  ore 6
    01/01/2005  Mario Rossi  ore 2
    01/01/2005  Paolo Bianchi ore 6
    01/01/2005  Paolo Bianchi ore 2
ma io ho bisogno della somma delle ore per ogni dipendente per ogni giorno!
Es. 01/01/2005  Mario Rossi  ore 8
    01/01/2005  Paolo Bianchi ore 8
spero di essere stato chiaro e spero che qualcuno di voi mi aiuti
grazie mille 

 ma io ho bisogno della somma delle ore per ogni dipendente per ogni giorno!
Group By  e DatePart è quello che fa per te.
Alberto
-- 
A questo punto hanno trovato un muro,
un muro duro, molto molto duro,
che siamo noi.

grazie alberto, avevo giŕ provato con il group by ma mi dava sempre un 
elenco e non la somma
invece il datepart (perdona l'ignoranza) non ho idea dicosa sia
potresti illuminarmi

 potresti illuminarmi
No.
Non per cattiveria, ma perchè (almeno credo, non l'hai specificato, pur 
essendo una informazione fondamentale quando si parla di Sql) tu 
utilizzi Access. E non sono ferrato sulla sintassi di tale dbms. 
Sicuramente, ne so molto meno della sua guida.
Se stessimo parlando di Sql-Server, avresti a disposizione il Convert, 
che ti porta una data in char, secondo un formato a scelta in un 
bell'elenco. E all'interno di questo elenco, avresti alcuni formati che 
ignorano l'orario, per cui facendo un Group By 
Convert(Char,data_Inizio, formato) avresti ciò che ti serve.
Ma in Access non credo ci sia il convert, e si debba usare il DatePart.
Mi raccomando, verifica anche che le due variabili DAL e AL siano di 
tipo stringa!
Ciao


 grazie mille
Se ho ben capito ORE_LAVORATE è un campo di tipo numerico. In tal caso puoi
lasciar stare DatePart e sommare direttamente sul campo:
SELECT Dipendente, Data, Sum(ORE_LAVORATE) AS ORE_TOTALI_PER_DATA FROM GIORNATE
WHERE Data Between ...
AND Dipendente In (...)
GROUP BY Dipendente, Data
Bye
Raf

Nel suo scritto precedente, Rafunk ha sostenuto :

Solo se Data è stato inserito imponendo un orario fisso.
Altrimenti il group by diventa insignificante (perchè con ore, minuti e 
secondi ogni inserimento fa gruppo a sè o quasi).
E io immagino che il problema del nostro amico fosse proprio quello...


 Ciao
Ciao

 raggruppamento, più che altro.
Beh, se ha detto che il group by l'aveva già provato, ma ritornava 
tutti i record e non raggruppava...


 tutti i record e non raggruppava...
Boh! Io ho capito che nella prova con group by non riusciva ad ottenere la
somma.
Comunque attendiamo riscontri...
At salut
Raf

gggrrraaazzziiieeee a tutti ora mi trovo su un pc diverso da quello su cui 
lavoro vi darò cmq risposta a breve 

ebbenesě raf hai ragione! ORE_LAVORATE č un campo numerico e la tua query 
funziona
grazie mille
grazie mille
grazie mille
grazie mille
grazie mille
grazie mille