Ir para conteúdo

POWERED BY:

  • ×   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 Ruyter
      Estou com problema para resolver uma solução que estou necessitando. Toda ajuda será bem-vinda!
       
      Tenho uma tabela onde há vários registros com um mesmo IDENTIFICADOR e vários INDENTIFICADORES diferentes em uma mesma coluna.
      Como percorrer os registros de uma tabela, com base nos IDENTIFICADORES?
      Preciso também analisar um período por data (>= e <=) e ABSTRAIR deste período o valor MIN e MAX de uma outra coluna
      Esta consulta precisa ser realizada em cada IDENTIFICADOR DISTINTO?
       
      Já utilizei o BETWEEN, mas ao usar o código com o foreach() no PHP ele lê apenas um registro.
      O código que estou trabalhando é este:
       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, MIN(cons_leitura_atual), MAX(cons_leitura_atual), hidro_valvula, hidro_cliente FROM tab_conf_hidro, tab_consumo INNER JOIN tab_hidrometros ON cons_reg_ident_iot = hidro_ident_iot WHERE cons_reg_ident_iot = '20220701001' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta' and cons_data BETWEEN '2022-10-10' and '2022-10-13';  
      Com:

       
      SELECT conf_hidro_inatividade, cons_reg_ident_iot, cons_data, cons_leitura_atual, hidro_valvula, hidro_cliente /*(sem o MIN e MAX na mesma coluna)*/ WHERE cons_reg_ident_iot != ' ' and conf_hidro_inatividade = 'sim' and hidro_valvula = 'aberta';  
      usando dentro do foreach(), percorre todos os registros.
    • 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 Luis Fernando R. Valle
      Boa tarde.
      Tenho um agendamento para inserir. Mas antes de inserir, preciso validar para ver se não há agendamento no intervalo selecionado
       
      Hoje estou fazendo 2 campos para data inicial e final e 2 campos para horario inicial e final, mas não estou conseguindo.
      Se puder me passar se a melhor forma e o datetime e como fazer essa consulta no banco.
       
      Desde já agradeço.
    • Por Santos_2015
      Galera,
      preciso de uma ajuda aqui,
      tenho campo do tipo data(Y-m-d) , dependendo de minha busca vou usa-ló com between ou não, segue sql:
       
      ... where situacao like :situacao_pagamento and data_pagamento if(:data_inicio and :data_fim = null,is null, between :data_inicio and :data_fim) tentei fazer com if
      se data_incio e data_final (parâmetros passados) for null, recebe is null(para comparar com o campo data_pagamento), caso contrario iriar entrar no beween...
      mas não rolou...
       
       
    • Por Gabriel Jansen
      Boa tarde!
       
      Não sei se seria o lugar correto mas queria deixar uma pequena colaboração, em meio a pesquisa na internet não achei uma forma para o asp clássico de fazer replace entre duas variáveis definida e tentei estudar um pouco sobre replace e não consegui entender ao certo, então apelei.
       
      Em meio ao texto pode ser que precise remover algo que está entre o determinada parte do conteúdo, ex: Abacaxi <0,1111> desidratado,  para Abacaxi desidratado.
      Criei a função abaixo:
      FUNCTION REPLACE_ENTRE(VARIAVEL,INICIO,FIM) TEXTO=VARIAVEL INICIA=split(TEXTO,INICIO) IF Ubound(INICIA)>"0" Then FINALIZA=split(INICIA(1),FIM) REPLACE_ENTRE=INICIA(0)&""&FINALIZA(1) ELSE REPLACE_ENTRE=TEXTO END IF END FUNCTION Para fazer o replace chama ela dessa forma, caso queira pode fazer a alteração dos caracteres para qualquer um que deseja (desde que haja diferença entre elas tipo: [ , ], <,>, sx, xs):
      REPLACE_ENTRE("Variavel que deseja fazer replace","caractere que identifica inicio","caractere que identifica o final") Quero retirar uma parte do texto onde fica entre os caracteres "[" e "]".
      Há quem o faça [mas não o aconselha] por isso não o farei.
       
      FUNCTION REPLACE_ENTRE(VARIAVEL,INICIO,FIM) TEXTO=VARIAVEL INICIA=split(TEXTO,INICIO) IF Ubound(INICIA)>"0" Then FINALIZA=split(INICIA(1),FIM) REPLACE_ENTRE=INICIA(0)&""&FINALIZA(1) ELSE REPLACE_ENTRE=TEXTO END IF END FUNCTION TEXTO="Há quem o faça [mas não o aconselha] por isso não o farei." TEXTO=REPLACE_ENTRE(TEXTO,"[","]") Imprimindo a variável ela ficará assim:
      Há quem o faça por isso não o farei. É isso ai
×

Informação importante

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