Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por Felipe Guedes Coutinho
      Galera, venho contribuindo com diversas dúvidas, mas hoje quem está com uma dúvida sou eu.
       
      Cenário - Gerar Dados para Relatório de Faturamento.
      Objetivo - Obter os valores totais das tabelas de Compra, Venda e Despesa agrupados por mês através de SUM dentro do "periodo" passado pela tela de consulta do relatório.
      Problema - Não existe um relacionamento entre as tabelas e eu preciso obter os resultados por 1 (UM) único select pois a cada registro lido com os valores totalizados e agrupados por mês eu movimento para um array onde o resultado do array é movimentado para um Chart do Google que gera um gráfico.
       
      Insumos:
      Tabela compra

      RESULTADO SEPARADO DA TABELA COMPRA
      SELECT  sum(vlr_pago),
              CASE extract(MONTH from dt_registro_compra)
                  WHEN 1 THEN 'Janeiro'
                  WHEN 2 THEN 'Fevereiro'
                  WHEN 3 THEN 'Março'
                  WHEN 4 THEN 'Abril'
                  WHEN 5 THEN 'Maio'
                  WHEN 6 THEN 'Junho'
                  WHEN 7 THEN 'Julho'
                  WHEN 8 THEN 'Agosto'
                  WHEN 9 THEN 'Setembro'
                  WHEN 10 THEN 'Outubro'
                  WHEN 11 THEN 'Novembro'
                  WHEN 12 THEN 'Dezembro'
              END AS mes
              FROM db_pescado_gelo.sqltb_compra
              WHERE dt_registro_compra between '2019-01-01' and '2019-12-31'
      group by mes
      order by dt_registro_compra asc
       
      RESULTADO:

       
      Tabela Venda

      RESULTADO SEPARADO DA TABELA VENDA
      SELECT  sum(vlr_vale),
              CASE extract(MONTH from dt_registro_venda)
                  WHEN 1 THEN 'Janeiro'
                  WHEN 2 THEN 'Fevereiro'
                  WHEN 3 THEN 'Março'
                  WHEN 4 THEN 'Abril'
                  WHEN 5 THEN 'Maio'
                  WHEN 6 THEN 'Junho'
                  WHEN 7 THEN 'Julho'
                  WHEN 8 THEN 'Agosto'
                  WHEN 9 THEN 'Setembro'
                  WHEN 10 THEN 'Outubro'
                  WHEN 11 THEN 'Novembro'
                  WHEN 12 THEN 'Dezembro'
              END AS mes
              FROM db_pescado_gelo.sqltb_venda
              WHERE dt_registro_venda between '2019-01-01' and '2019-12-31' 
      group by mes
      order by dt_registro_venda asc
       
      RESULTADO:

       
      Tabela Despesa

      Sei que devo colocar dt_pagamento is not null
      RESULTADO SEPARADO DA TABELA DESPESA
      SELECT  sum(vlr_pago),
              CASE extract(MONTH from dt_pagamento)
                  WHEN 1 THEN 'Janeiro'
                  WHEN 2 THEN 'Fevereiro'
                  WHEN 3 THEN 'Março'
                  WHEN 4 THEN 'Abril'
                  WHEN 5 THEN 'Maio'
                  WHEN 6 THEN 'Junho'
                  WHEN 7 THEN 'Julho'
                  WHEN 8 THEN 'Agosto'
                  WHEN 9 THEN 'Setembro'
                  WHEN 10 THEN 'Outubro'
                  WHEN 11 THEN 'Novembro'
                  WHEN 12 THEN 'Dezembro'
              END AS mes
              FROM db_pescado_gelo.sqltb_despesa
              WHERE dt_pagamento between '2019-01-01' and '2019-12-31'
                AND dt_pagamento is not null
      group by mes
      order by dt_pagamento asc
       
      RESULTADO:

       
       
      O resultado que eu gostaria é algo parecido com isso:
       
      TABELA DE VENDA TABELA DE COMPRA TABELA DE DESPESA - - R$ 31.272,55 Julho - - Agosto R$ 3.796,53 R$ 20.687,20 Agosto R$ 3.796,53 Agosto  
      Esse resultado eu "preciso" que seja através do retorno do um único SELECT, se alguém puder me ajudar, ficarei muito agradecido.
       
      Se puderem dar uma forã agradeço @Motta ; @Omar~ ; @Maujor ; @gabrielms 
       
      Att.
      Felipe Coutinho
    • Por Ygor Guedes
      Boa tarde meu pessoal. Preciso da ajuda de vocês em uma consulta baseada em Inner Join + Group By. Irei deixar as tabelas e a consulta que eu tenho, para melhor visualização:
       
      Consulta: 
      SELECT tab_garagens.onibus_ponto, tab_garagens.onibus_prefixo, data FROM pontos INNER JOIN tab_garagens ON pontos.onibus_ponto = tab_garagens.onibus_ponto Tabela pontos:
      | onibus_ponto |                data                |
      |           10           |  2019-06-03 12:00:00 |
      |           10           |  2019-06-03 12:10:00 |
      |           44           |  2019-06-03 12:00:00 |
       
      Tabela tab_garagens:
      | onibus_ponto |  onibus_prefixo  |
      |           10           |      DE700            |
      |           44           |      GL030            |
       
      A minha consulta está trazendo a informação mais antiga da data; o que eu preciso é tipo um ORDER BY com data mais recente, onde eu pego a data mais atual do registro agrupado na coluna 'onibus_ponto'.
       
      Eu gostaria que saísse assim: 
       
      | onibus_ponto |  onibus_prefixo |             data                  |
      |        10              |       DE700          | 2019-06-03 12:10:00 |
      |        44              |       GL030          | 2019-06-03 12:00:00 |
       
      Se puderem me ajudar, fico agradecido
    • Por brunoogm
      Pessoal tenho uma tabela no php cujo resultado do select vindo do bd vem no seguinte formato:
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Bacon Cheddar                          1          60.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Chicken Club Sandwich            1          45.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Philly Cheese Steak                   1          50.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Smoke House                             1          55.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Stream Miller                              1          35.00
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      E eu gostaria de fazer um select para que nao repita os dados iguais e que a tabela viesse assim:
       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                                                                                                      Bacon Cheddar                          1           60.00
                                                                                                                                                      Chicken Club Sandwich           1            45.00
      26    46        15/05/2019 13:57:25         Dinheiro                  Pendente                           Philly Cheese Steak                   1            50.00
                                                                                                                                                      Smoke House                             1            55.00
                                                                                                                                                      Stream Miller                              1            35.00
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      Alguem pode me ajudar, qual seria a melhor forma de fazer ?

      Essa tabela é gerada com um while no php entao se alguem saber uma outra maneira de montar isso aceito dicas.
       
      php: 
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      echo "<tr role='row' class='odd'>";
                                                      echo "<td class='sorting_1'>" .$resultado['CodigoComanda']. "</td>";
                                                      echo "<td>" .$resultado['Nome']."</td>";
                                                      echo "<td>" .$resultado['Quantidade']."</td>";
                                                      echo "<td>" .$resultado['Preco']."</td>";
                                                      echo "<td>" .$resultado['Metodos']."</td>";
                                                      echo "<td>" .$resultado['DataPedido']."</td>";
                                                      echo "<td>" .$resultado['Situacao']."</td>";
      echo "</tr>";
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      vlw pessoal
       
    • Por brunoogm
      Pessoal tenho uma tabela no php cujo resultado do select vindo do bd vem no seguinte formato:
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Bacon Cheddar                          160.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Chicken Club Sandwich            145.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Philly Cheese Steak                   150.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Smoke House                             155.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Stream Miller                              135.00
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      E eu gostaria de fazer um select para que nao repita os dados iguais e que a tabela viesse assim:
       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                 46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Bacon Cheddar                          160.00
                                                                                                                                                      Chicken Club Sandwich            145.00
                                                                                                                                                      Philly Cheese Steak                   150.00
       Smoke House                             155.00
      26       46        15/05/2019 13:57:25         Dinheiro                  Pendente                        Stream Miller                              135.00
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
    • Por Anderson Campos da Silva
      Olá,
       
      Estou com um problema, que para alguns pode ser simples, é o seguinte:
       
      Tenho 2 tabela relacionadas, MODELO e EQUIPAMENTO
       
      TABELA MODELO
      idModelo (INT) - chave primária  
      txModelo (VARCHAR)
       
      TABELA EQUIPAMENTO 
      idEquipamento (INT) - chave primária   
      patrimonio (VARCHAR)
      situacao (VARCHAR)
      idModelo (INT) - Chave estrangeira
       
      O campo situação pode ser preenchido apenas apenas com PRODUÇÃO OU ESTOQUE.
       
      Enfim, preciso de um SELECT que retorne as seguintes colunas txModelo, quantidade de equipamentos por modelo, quantidade de equipamentos com PRODUÇÃO, e quantidade de equipamentos com ESTOQUE, exemplo:
       
      txModelo | total | produção | estoque
      CISCO           7            4                  3
      HP                15          10                 5
      DELL            10           2                   8
       
      Desde já agradeço
×

Informação importante

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