Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JohnyMoraes

[Resolvido] Problema montar query

Recommended Posts

Boa tarde pessoal.

 

Bom, eu tenho a seguinte tabela:

 

Cheque

Campos:

  • Codigo NOT NULL
  • Valor NOT NULL
  • DTCadastro NOT NULL
  • NumDevolucao NULL
  • DTDevolucao NULL

 

No caso, cadastra cheques e mostra quando o cheque é devolvido.

 

Preciso de uma query que retorne todos os registros em uma determinada época, agrupadas por semana, mostrando o total de cheques cadastrados na semana, total de cheques devolvidos na semana, soma dos cheques cadastrados na semana, soma dos cheques devolvidos na semana.

 

Fazendo querys separadas, eu consigo tranquilamente, mas precisava de uma query só para retornar tudo...seria possivel algo assim?

 

CHEQUES CADASTRADOS

SELECT WEEK(CHEQUE_DTCADASTRO) as 'SEMANA', 
      COUNT(*) as 'QTD CHEQUES', 
      SUM(CHEQUE_VALOR) as 'SOMATÓRIO'
FROM cheques
WHERE CHEQUE_DTCADASTRO BETWEEN '2011-01-01' AND '2011-01-31'
GROUP BY WEEK(CHEQUE_DTCADASTRO)

 

 

CHEQUES EM ATRASO

SELECT WEEK(CHEQUE_DTDEVOLUCAO) as 'SEMANA', 
      COUNT(*) as 'QTD CHEQUES DEVOLVIDOS',
      SUM(CHEQUE_VALOR) as 'SOMATÓRIO DEVOLVIDOS'
FROM cheques
WHERE CHEQUE_DTDEVOLUCAO BETWEEN '2011-01-01' AND '2011-01-31'
GROUP BY WEEK(CHEQUE_DTDEVOLUCAO)

Compartilhar este post


Link para o post
Compartilhar em outros sites

assumindo que toda semana um cheque é cadastrado...

select * from
(
SELECT WEEK(CHEQUE_DTCADASTRO) as 'SEMANA', 
      COUNT(*) as 'QTD CHEQUES', 
      SUM(CHEQUE_VALOR) as 'SOMATÓRIO'
FROM cheques
WHERE CHEQUE_DTCADASTRO BETWEEN '2011-01-01' AND '2011-01-31'
GROUP BY WEEK(CHEQUE_DTCADASTRO)
)c left join
(
SELECT WEEK(CHEQUE_DTDEVOLUCAO) as 'SEMANA', 
      COUNT(*) as 'QTD CHEQUES DEVOLVIDOS',
      SUM(CHEQUE_VALOR) as 'SOMATÓRIO DEVOLVIDOS'
FROM cheques
WHERE CHEQUE_DTDEVOLUCAO BETWEEN '2011-01-01' AND '2011-01-31'
GROUP BY WEEK(CHEQUE_DTDEVOLUCAO)
)a
on c.semana = a.semana

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.