Agrupar por data, mas não linha a linha
15/04/2013
0
Select count(id_triagem) as total from tbl_Triagem
Preciso fazer o select acima funcionar da forma como eu escrevi.
Pjava
Posts
15/04/2013
Joel Rodrigues
SELECT COUNT(*) FROM TABELA GROUP BY DATA
15/04/2013
Alex Lekao
Pode ser que o campo esteja como data e hora e neste caso do agrupamento serão diferentes.
Você pode tentar converter o campo para padrão brasileiro por exemplo para fazer o agrupamento para ver se da certo.
por exemplo convert(varchar,sua_data,103).
não sei se entendi exatamente o que esta precisando, mas testa ai e diz se deu certo.
Abraco.
Alex - Lekao
15/04/2013
Pjava
15/04/2013
Pjava
WITH
CTE_A AS
(SELECT ID_TRIAGEM,CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_CADASTRO)))AS DT_CADASTRO,COUNT(*) AS QTDTRIAGEM FROM TBL_TRIAGEM
WHERE ID_TIPO_DOCUMENTO IN(2,3,4,9) AND
CONVERT(VARCHAR(10),DT_CADASTRO,103) BETWEEN '11/04/2013' AND '16/04/2013'
GROUP BY ID_TRIAGEM,DT_CADASTRO) ,
CTE_B AS
(SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),DT_LANCAMENTO)))AS DT_LANCAMENTO,COUNT(*) AS QTDCADASTRO FROM TBL_CADASTRO
WHERE CONVERT(VARCHAR(10),DT_LANCAMENTO,103) BETWEEN '11/04/2013' AND '16/04/2013'
GROUP BY DT_LANCAMENTO)
SELECT
CONVERT(VARCHAR,A.DT_CADASTRO,103)AS DATA,A.QTDTRIAGEM, B.QTDCADASTRO, -(A.QTDTRIAGEM - B.QTDCADASTRO) AS DIFERENCA
,(A.QTDTRIAGEM - B.QTDCADASTRO) AS EXCEDENTE,(B.QTDCADASTRO/2) AS MEDIA
FROM CTE_A AS A
CROSS JOIN CTE_B AS B
WHERE CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),A.DT_CADASTRO))) = CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24),B.DT_LANCAMENTO)))
16/04/2013
Alex Lekao
vc pode usar no agrupamento tbm.
a principio vc ta convertendo para datetime, eh isto mesmo que vc quer?
Abraco.
Alex - Lekao
Clique aqui para fazer login e interagir na Comunidade :)