Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
daqdel Aprendiz

Registrado: Terça-Feira, 19 de Mai de 2009 Mensagens: 277
|
Enviada: Sáb Ago 17, 2019 9:28 am Assunto: SQL relação Cruzada Firebird |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sáb Ago 17, 2019 10:11 am Assunto: |
|
|
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 |
|
 |
daqdel Aprendiz

Registrado: Terça-Feira, 19 de Mai de 2009 Mensagens: 277
|
Enviada: Sáb Ago 17, 2019 10:37 am Assunto: SQL relação Cruzada |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sáb Ago 17, 2019 7:55 pm Assunto: |
|
|
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 |
|
 |
|