[firebase-br] Dúvida com Group By e Campo Calculado

Reinaldo diasmartins em gmail.com
Dom Set 1 17:35:07 -03 2013


Olá Pesoal,

Possuo uma tabela como a abaixo exemplificada.

TABELA APONTAMENTOS
+-------+----------+-------------------+
| FUNC  |   DATA   | HORAINI | HORAFIM |
+-------+----------+---------+---------+
|  001  | 01/08/13 |  08:30  |  08:45  |
|  001  | 01/08/13 |  08:12  |  09:17  |
|  001  | 01/08/13 |  10:10  |  10:59  |
|  001  | 02/08/13 |  08:42  |  10:17  |
|  002  | 01/08/13 |  16:47  |  17:01  |
|  002  | 01/08/13 |  18:00  |  18:05  |
|  001  | 02/08/13 |  12:28  |  12:38  |
|  001  | 03/08/13 |  11:30  |  13:45  |
|  001  | 03/08/13 |  11:40  |  14:01  |
|  002  | 01/08/13 |  15:30  |  18:45  |
|  002  | 02/08/13 |  19:59  |  20:22  |
|  002  | 02/08/13 |  21:35  |  21:40  |
|  001  | 04/08/13 |  09:27  |  10:12  |
|  001  | 04/08/13 |  09:52  |  09:58  |
|  001  | 04/08/13 |  13:10  |  13:20  |
+-------+----------+-------------------+

E o tenho o seguinte select que tras os tempos trabalhados agrupados por 
data e funcionario

SELECT FUNC, DATA, DATEADD(SECOND, SUM(COALESCE(DATEDIFF(SECOND, 
HORAINI, HORAFIN), 0)), CAST ('00:00:00' AS TIME)) AS TEMPO
FROM APONTAMENTOS GROUP BY FUNC, DATA

+-------+----------+--------+-----------+
| FUNC  |   DATA   |  TEMPO | QTDE DIAS |
+-------+----------+--------+-----------+
|  001  | 01/08/13 |  02:09 |    04     |
|  001  | 02/08/13 |  01:45 |    04     |
|  001  | 03/08/13 |  04:36 |    04     |
|  001  | 04/08/13 |  01:01 |    04     |
|  002  | 01/08/13 |  03:34 |    02     |
|  002  | 02/08/13 |  00:28 |    02     |
+-------+----------+--------+-----------+

O problema é que preciso que na coluna QTDE DIAS venha a quantidade de 
dias que o funcionario trabalhou dentro do periodo, no caso do exemplo o 
funcionario 1 trabalhou 4 dias e o funcionario 2 trabalhou 2 dias.

Alguma Sugestão de qual caminho utilizar?

Obrigado




Mais detalhes sobre a lista de discussão lista