-
Total de itens
43 -
Registro em
-
Última visita
Reputação
0 ComumSobre Thiago Btos
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
-
Motta bom dia. Eu tentei usar o over, se fosse para o mesmo periodo do filtro que está no where, daria certo. Mas preciso ter um outro periodo (ano) nessa coluna YTD, é onde está o meu problema
-
Bom dia pessoal. Estou com uma dúvida na estruturação do select. Tenho um relatório que está extraindo já informações corretamente, com base no período gerado (inicial e final) Exemplo de como está hoje: SELECT D.CATEGORIA, SUM(D.VALOR) AS VALOR_VENDA, D.DATA AS (MES_ANO) FROM DUAL D WHERE D.DATA BETWEEN '20210501' AND '20210731' GROUP BY D.CATEGORIA, D.DATA Retornando: Categoria | Valor_venda | Mes_Ano 1 | 1000,00 | 05/2021 1 | 2000,00 | 06/2021 1 | 800,00 | 07/2021 2 | 500,00 | 05/2021 2 | 200,00 | 07/2021 2 | 700,00 | 06/2021 Até ai está tranquilo. Porém foi solicitado para adicionar uma coluna YTD (Year to data - acumulado do ano) agrupando o valor total da venda do ano do filtro. Então se foi colocado uma data do período Jan/2020 a Mar/2020, essa nova coluna tem que pegar as vendas do ano inteiro de 2020 E precisa me retornar assim: Categoria | Valor_venda | Mes_Ano | YTD 1 | 1000,00 | 05/2021 | 15000,00 1 | 2000,00 | 06/2021 | 15000,00 1 | 800,00 | 07/2021 | 15000,00 2 | 500,00 | 05/2021 | 8000,00 2 | 200,00 | 07/2021 | 8000,00 2 | 700,00 | 06/2021 | 8000,00 (Os valores de 15000 e 8000 seria a soma do ano inteiro) O que consegui pensar seria um subselect que tem o where com data do ano, porém nesse caso retorno mais de um resultado no subselect, não dando para usar... Qual seria a alternativa que tenho?
-
[Resolvido] Select usar soma de coluna em nova coluna
Thiago Btos respondeu ao tópico de Thiago Btos em Oracle
Obrigado Motta, com o sum over deu certo. Essa função realmente não conhecida. Obg novamente pelo auxílio.- 4 respostas
-
[Resolvido] Select usar soma de coluna em nova coluna
Thiago Btos respondeu ao tópico de Thiago Btos em Oracle
Boa tarde Motta. Isso mesmo, o total acumulado das colunas horas e qtde. (145/21)*5 =34.52 (145/21)*3=20.71 E assim vai.- 4 respostas
-
Boa tarde pessoal. Estou travado em uma parte do select do qual preciso somar os valores de todos os registros da coluna, e usa-lo como base de calculo para outra coluna SELECT PRODUTO, HORAS, QTDE, VARIACAO FROM DUAL Meu select está retornando algo assim: PRODUTO | HORAS | QTDE | VARIACAO A | 2 | 20 | 5 B | 6 | 25 | 3 C | 5 | 70 | 9 D | 8 | 30 | 2 -------------------------------------------------------- Total | 21 | 145 | Preciso criar uma nova coluna com a formula (Total Qtde / Total horas) * variação ficando assim: PRODUTO | HORAS | QTDE | VARIACAO | CONTA A | 2 | 20 | 5 | 34.52 B | 6 | 25 | 3 | 20.71 C | 5 | 70 | 9 | 62.14 D | 8 | 30 | 2 | 13.80 A forma que estou tentando fazer é via subselect, mas ele não agrupa todas as linhas, e somente o registro da linha atual. SELECT PRODUTO, HORAS, QTDE, VARIACAO, (SELECT (SUM(QTDE) / SUM(HORAS)) * VARIACAO) AS CONTA FROM DUAL Dessa forma me retorna o seguinte resultado, como se estive calculando somente a linha atual e não toda a coluna. PRODUTO | HORAS | QTDE | VARIACAO | CONTA A | 2 | 20 | 5 | 50 B | 6 | 25 | 3 | 12.5 C | 5 | 70 | 9 | 126 D | 8 | 30 | 2 | 7.5 Espero que eu tenha conseguido explicar minha necessidade de forma que de para entender.
- 4 respostas