Fórum Consulta retornando valor errado #617123
11/11/2021
0
Boa tarde, montei uma pesquisa p/ saber a quantidade de entrega por lojas e por dia, porém eu gostaria que cada loja ficasse em uma coluna, fiz a consulta desta forma.
Desse jeito ele retorna o mesmo valor em todas as lojas. Alguém poderia me ajudar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | SELECT CASE EXTRACT(dow FROM orc.datahora) WHEN 0 THEN '' '' '' '' Domingo '' '' '' '' WHEN 1 THEN '' '' '' '' Segunda-feira '' '' '' '' WHEN 2 THEN '' '' '' '' Terça-feira '' '' '' '' WHEN 3 THEN '' '' '' '' Quarta-feira '' '' '' '' WHEN 4 THEN '' '' '' '' Quinta-feira '' '' '' '' WHEN 5 THEN '' '' '' '' Sexta-feira '' '' '' '' WHEN 6 THEN '' '' '' '' Sábado '' '' '' '' END AS "Dia da Semana" , TO_CHAR (orc.datahora, '' '' '' '' DD/MM/YYYY '' '' '' '' ) "Data" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 01 '' '' '' '' THEN ent.id ELSE 0 END ) "F1" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 02 '' '' '' '' THEN ent.id ELSE 0 END ) "F2" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 03 '' '' '' '' THEN ent.id ELSE 0 END ) "F3" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 04 '' '' '' '' THEN ent.id ELSE 0 END ) "B1" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 05 '' '' '' '' THEN ent.id ELSE 0 END ) "P+" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 06 '' '' '' '' THEN ent.id ELSE 0 END ) "BR" , COUNT ( CASE WHEN unid.codigo = '' '' '' '' 07 '' '' '' '' THEN ent.id ELSE 0 END ) "B2" FROM entrega AS ent INNER JOIN orcamento AS orc ON orc.id = ent.orcamentoid INNER JOIN unidadenegocio AS unid ON unid.id = orc.unidadenegocioid INNER JOIN venda AS vend ON vend.orcamentoid = orc.id WHERE CAST (orc.datahora AS DATE ) BETWEEN '' '' '' '' 01/10/2021 '' '' '' '' AND '' '' '' '' 31/10/2021 '' '' '' '' AND vend. "status" = '' '' '' '' F '' '' '' '' GROUP BY 2,1 |
Desse jeito ele retorna o mesmo valor em todas as lojas. Alguém poderia me ajudar.

Paulo
Curtir tópico
+ 0
Responder
Posts
11/11/2021
Paulo
Resolvi da seguinte forma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | SELECT CASE EXTRACT(dow FROM orc.datahora) WHEN 0 THEN 'Domingo' WHEN 1 THEN 'Segunda-feira' WHEN 2 THEN 'Terça-feira' WHEN 3 THEN 'Quarta-feira' WHEN 4 THEN 'Quinta-feira' WHEN 5 THEN 'Sexta-feira' WHEN 6 THEN 'Sábado' END AS "Dia da Semana" , TO_CHAR (orc.datahora, 'DD/MM/YYYY' ) "Data" , COUNT (1) FILTER ( WHERE unid.codigo = '01' ) "F1" , COUNT (1) FILTER ( WHERE unid.codigo = '02' ) "F2" , COUNT (1) FILTER ( WHERE unid.codigo = '03' ) "F3" , COUNT (1) FILTER ( WHERE unid.codigo = '04' ) "B1" , COUNT (1) FILTER ( WHERE unid.codigo = '05' ) "P+" , COUNT (1) FILTER ( WHERE unid.codigo = '06' ) "BR" , COUNT (1) FILTER ( WHERE unid.codigo = '07' ) "B2" FROM entrega AS ent INNER JOIN orcamento AS orc ON orc.id = ent.orcamentoid INNER JOIN unidadenegocio AS unid ON unid.id = orc.unidadenegocioid INNER JOIN venda AS vend ON vend.orcamentoid = orc.id WHERE CAST (orc.datahora AS DATE ) BETWEEN '01/10/2021' AND '31/10/2021' AND vend. "status" = 'F' GROUP BY 2,1 |
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)