Jump to content
Rods2018

Query retornando duas linhas que nao era para retornar

Recommended Posts

Boa Tarde estou tendo um problema com a seguinte query....

 

select p.A1_COD,p.A1_NOME,p.ULTCOMP_CLIENTE,p.B1_COD,p.B1_DESC,p.B2_QATU,p.B2_CM1,p.B2_VFIM1,p.B2_VATU1,p.D2_PRCVEN,p.D2_QUANT,p.ULTCOMP_PRODUTO_CLIENTE,p.TOTAL_MESES from SD2010,
    (select A1_COD,A1_NOME,A1_ULTCOM as ULTCOMP_CLIENTE,B1_COD,B1_DESC,B2_QATU,B2_CM1,B2_VFIM1,B2_VATU1,D2_PRCVEN,D2_QUANT,max(D2_EMISSAO) as ULTCOMP_PRODUTO_CLIENTE,datediff(mm,max(D2_EMISSAO),getdate()) as TOTAL_MESES from SB1010
    inner join SD2010  on D2_COD = B1_COD
    inner join SB2010 SB2 on B2_COD = B1_COD
    inner join SA1010 SA1 on A1_COD = D2_CLIENTE    
    where B2_QATU > 0 and SA1.D_E_L_E_T_ <> '*' and (SB2.D_E_L_E_T_ <> '*' and (B1_TIPO = 'ME' and B1_COD not in (
        select distinct D2_COD from SD2010        
        where D_E_L_E_T_ <> '*' and (D2_EMISSAO between dateadd(mm,-2,getdate()) and  getdate() and D2_TIPO = 'N'))))
    group by A1_COD,A1_NOME,A1_ULTCOM,B1_COD,B1_DESC,B2_QATU,B2_CM1,B2_VFIM1,B2_VATU1,D2_QUANT,D2_PRCVEN) as p
--where p.TOTAL_MESES >= 2
group by p.A1_COD,p.A1_NOME,p.ULTCOMP_CLIENTE,p.B1_COD,p.B1_DESC,p.B2_QATU,p.B2_CM1,p.B2_VFIM1,p.B2_VATU1,p.D2_PRCVEN,p.D2_QUANT,p.ULTCOMP_PRODUTO_CLIENTE,p.TOTAL_MESES
order by 12 desc;

 

esta query retornar os valores corretamente mas aparecem duas linhas que não eram para aparecer ao executarem verá as duas primeiras linhas, porem não to conseguindo encontrar o problema pois ja executei as querys separadas e ambas estão funcionando alguem teria alguma ideia do que poderia ser????

Share this post


Link to post
Share on other sites

Conhecendo Totvs chutaria delet ou filial , mas como você expos é muito difícil saber o que seriam as "duas linhas" ...

 

Cuidado também que campos data no Totvs são internamente CHAR YYYYMMDD cuidado com cálculos de data.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By peterstefan
      estou tentando fazer uma select no laravel para quando eu atualizar o e-mail do usuário mais se já existir no banco mostrar uma mensagem avisando que já existe no banco, mais não to conseguindo..
      Dei uma pesquisada e não achei nada que pudesse ajudar..
       
      $email = DB::select(DB::raw('SELECT id, email FROM users WHERE email=:email AND id !=:id'), ['email' => $request->email, 'id' => Auth::user()->id]); if ($email) { $json['message'] = $this->message->error("Ooops, " . Auth::user()->name . " E-mail já está em uso!")->reder(); return response()->json($json); }
    • By SACI1978
      Olá pessoal preciso de uma ajuda com esse código, era pra ele alterar a cor da minha resposta do banco, mas nada acontece:

       
      $listagem = $pdo->prepare("SELECT * FROM agendamento WHERE status!='PRONTO' AND status!='BAIXA' ORDER BY controle DESC"); $listagem->execute(); while ($lista = $listagem->fetch(PDO::FETCH_ASSOC)) { if($lista['status'] == "RECEBIDO"){ echo '<span style="color:red">' .$lista['status']. '</span>'; } if($lista['status'] != "EM ATENDIMENTO"){ echo '<span style="color:green">' .$lista['status']. '</span>'; } if($lista['status'] != "AGUARDANDO"){ echo '<span style="color:blue">' .$lista['status']. '</span>'; } }  
    • By eduardohaag
      Olá pessoal,
      Estou trabalhando em um projeto de estudo onde tenho uma tabela onde possui o cadastro de funcionários e a empresa onde trabalha.
      Preciso criar uma query que retorne o nome da empresa que possui a menor quantidade de funcionários.
      Tenho em minha mente que parece uma coisa simples, possivelmente utilizando as funções Count e MIN, mas não estou conseguindo chegar a um raciocino pra chegar nessa condição.
    • By Jefferson andre
      Saudacoes, como faço apara a query andar de lado 2 a 2 em vez de ir sempre para baixo.
       
      Na foto anexo onde esta vazio deveria estar preenchido
       
      Segue meu codigo se alguem puder dar uma olhada agradeço
      #Consulta $resultado_videos = $arquivo->query("SELECT * FROM contador_diario ORDER BY data DESC LIMIT 7"); while($aux = mysqli_fetch_assoc($resultado_videos)) { $cont=$cont+1; //acrescenta valor ao cont $contador = $aux["contador"]; $data = $aux["data"]; $floatVal = floatval($cont/2); // If the parsing succeeded and the value is not equivalent to an int if($floatVal && intval($floatVal) != $floatVal){ echo "<tr>  <td bgcolor='#CCCCCC'> {$contador} </td>  <td </td>  </tr>"; } else { echo "<tr>  <td </td>  <td bgcolor='#CCCCCC'> {$contador} </td>  </tr>"; } } echo"</table></div></body>";  
       
    • By Jefferson andre
      Saudações a todos,
       
      Criei um relatório bem simples que desce linha a linha, mas como sobrou espaco na tela eu gostaria de colocar o mesmo relatorio em duas colunas.
       
      Então pensei em controlar se a sequencia impressa eh par ou impar verificando se a divisao por 2 da um resultado inteiro.
       
      Mas me surgiu a duvida se existe algum comando que verifique se a variavel eh inteira ou se eh necessario verificar se o tipo eh double.
       
      Aceito sugestões ou exemplo desse tipo de report
       
      Agradeço
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.