ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

SQL relação Cruzada Firebird

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
daqdel
Aprendiz
Aprendiz


Registrado: Terça-Feira, 19 de Mai de 2009
Mensagens: 277

MensagemEnviada: Sáb Ago 17, 2019 9:28 am    Assunto: SQL relação Cruzada Firebird Responder com Citação

bOM DIA!
Utilizo Firebird 2.5 e Delphi
Tenho uma tabela de pedidos
Preciso fazer um consulta cruzada para geração de um grafico.
A Tabela e TB_PEDIDOS
ID|ITEM|DESC |QTDE|DTENTREGA
01|0001|caixa |01 |01/01/2018
02|0001|caixa |01 |01/01/2019
03|0002|tela |02 |25/09/2019
04|0003|lapis |02 |25/04/2019
05|0004|grade |02 |25/09/2019
06|0001|caixa |01 |10/01/2018
07|0001|caixa |01 |10/08/2019
08|0001|caixa |01 |30/08/2019

Gostaria de fazer uma SQL Consulta para transformar a informação na configuração
abaixo:

ANO |Mes|total|Atrasado|NoPrazo
2018|01 |02 |02 |0
2019|01 |01 |01 |0
2019|04 |01 |01 |0
2019|08 |02 |01 |01
2019|09 |02 |00 |02

Alguem sabe se é possivel?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sáb Ago 17, 2019 10:11 am    Assunto: Responder com Citação

Bom dia,

Como você consegue identificar se o pedido foi entregue no prazo ou não?


Editado pela última vez por imex em Dom Out 01, 2023 5:39 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
daqdel
Aprendiz
Aprendiz


Registrado: Terça-Feira, 19 de Mai de 2009
Mensagens: 277

MensagemEnviada: Sáb Ago 17, 2019 10:37 am    Assunto: SQL relação Cruzada Responder com Citação

Faltou colocar o campo DT_Entrega.
Faço um compare entre os dois e trago o Status

bOM DIA!
Utilizo Firebird 2.5 e Delphi
Tenho uma tabela de pedidos
Preciso fazer um consulta cruzada para geração de um grafico.
A Tabela e TB_PEDIDOS
ID|ITEM|DESC |QTDE|DTENTREGA |DTENVIO
01|0001|caixa |01 |01/01/2018 |04/02/2018
02|0001|caixa |01 |01/01/2019 |04/02/2019
03|0002|tela |02 |25/09/2019 |01/08/2019
04|0003|lapis |02 |25/04/2019 |26/04/2019
05|0004|grade |02 |25/09/2019 |02/08/2019
06|0001|caixa |01 |10/01/2018 |04/02/2019
07|0001|caixa |01 |10/08/2019 |15/08/2019
08|0001|caixa |01 |30/08/2019 |16/08/2019

Gostaria de fazer uma SQL Consulta para transformar a informação na configuração
abaixo:

ANO |Mes|total|Atrasado|NoPrazo
2018|01 |02 |02 |0
2019|01 |01 |01 |0
2019|04 |01 |01 |0
2019|08 |02 |01 |01
2019|09 |02 |00 |02

Alguem sabe se é possivel?





imex escreveu:
Bom dia,

Como você consegue identificar se o pedido foi entregue no prazo ou não?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sáb Ago 17, 2019 7:55 pm    Assunto: Responder com Citação

Experimente dessa forma:

Código:
select
    EXTRACT(YEAR FROM DTENTREGA) AS ANO,
    EXTRACT(MONTH FROM DTENTREGA) AS MES,
    COUNT(*) AS TOTAL,
    COUNT(CASE WHEN DTENVIO > DTENTREGA THEN 1 END) AS ATRASADO,
    COUNT(CASE WHEN DTENVIO <= DTENTREGA THEN 1 END) AS NOPRAZO
from TB_PEDIDOS
group by
    EXTRACT(YEAR FROM DTENTREGA),
    EXTRACT(MONTH FROM DTENTREGA)


Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB