Jump to content
GustavoJacob15

Subtração de Campo feito com Case

Recommended Posts

Eu preciso subtrair os campos IDA_ALMOCO e VOLTA_ALMOCO, porém eles são feitos pelo case e não da tabela 


 

SELECT P8_MAT, RA_NOME, P8_DATA, P8_CC, CTT_DESC01,  
     CASE 
    WHEN P8_TPMARCA = '1S'  THEN P8_HORA
    END IDA_ALMOCO,
     CASE 
    WHEN P8_TPMARCA = '2E' THEN P8_HORA
    END VOLTA_ALMOCO
FROM SP8010 SP8
INNER JOIN SRA010 SRA ON SRA.RA_MAT = SP8.P8_MAT AND SRA.D_E_L_E_T_=''
INNER JOIN CTT010 CTT ON CTT.CTT_CUSTO = SP8.P8_CC AND CTT.D_E_L_E_T_=''
INNER JOIN SR6010 SR6 ON SR6.R6_TURNO = SRA.RA_TNOTRAB AND SR6.D_E_L_E_T_=''
WHERE SP8.D_E_L_E_T_=''
AND P8_TPMARCA IN ('1S', '2E')

 

Share this post


Link to post
Share on other sites
SELECT P8_MAT, RA_NOME, P8_DATA, P8_CC, CTT_DESC01,P8_HORAI,P8_HORAV,(P8_HORAV-P8_HORAI) DIF
FROM
(
SELECT P8_MAT, RA_NOME, P8_DATA, P8_CC, CTT_DESC01,  
    MAX(CASE
    WHEN P8_TPMARCA = '1S'  THEN P8_HORAI
    END) IDA_ALMOCO,
    MAX(CASE
    WHEN P8_TPMARCA = '2E' THEN P8_HORAV
    END) VOLTA_ALMOCO
FROM SP8010 SP8
INNER JOIN SRA010 SRA ON SRA.RA_MAT = SP8.P8_MAT AND SRA.D_E_L_E_T_=''
INNER JOIN CTT010 CTT ON CTT.CTT_CUSTO = SP8.P8_CC AND CTT.D_E_L_E_T_=''
INNER JOIN SR6010 SR6 ON SR6.R6_TURNO = SRA.RA_TNOTRAB AND SR6.D_E_L_E_T_=''
WHERE SP8.D_E_L_E_T_=''
AND P8_TPMARCA IN ('1S', '2E')
GROUP BY P8_MAT, RA_NOME, P8_DATA, P8_CC, CTT_DESC01
)

Tente assim , tentei sua sql aqui mas ela não rolou deu um erro estranho

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 DuduBacteria
      Tenho uma Tabela chamada "VENDAS" com os seguintes atributos:
       
       
      Eu quero retornar em MySQL o total de vendas ocorridos durante 1 semana, entre o dia atual até seis dias atrás.
       
      Ficando mais ou menos assim:
       
      SEMANA              TOTAL DE VENDIDO segunda                250.00 domingo                430.00 sábado                 160.50 sexta                  300.03 quinta                 300.03 quarta                 300.03 terça                  300.03
    • By Kefatif
      Prezados, boa tarde.
       
      Estou com uma dúvida:
       
      Estou precisando trazer dados do banco para uma tela de edição de cadastro, até aí tudo bem consegui fazer para os input através do código abaixo:
       
      <label style="width:16%;margin-left: 2%;">Data de Início<br> <input type="date" value="<?php echo $row["DATA_DISPENSACAO"] ?>" class="form-control" style="width:100%;"> </label>  
      Mas o meu select já traz o controle de peso do banco, eu gostaria que além dele trazer esses pesos que traga o salvo no cadastro de uma pessoa para visualização e edição.
       
      Segue abaixo o código do select como está:
       
      <label style="width:15%">Peso<b style="color:red">*</b><br> <select name="peso" class="form-control" required style="width:100%" value="<?php echo $row["DATA_TESTE"] ?>"> <option value="">Selecione</option> <?php $sqlpeso = "select distinct PESO from TESTE where ID_ESQUEMA = ".$row["ID_ESQUEMA"]; $resultpeso = mysqli_query($con, $sqlpeso); while ($rowpeso= mysqli_fetch_array($resultpeso)){ ?> <option value="<?php echo utf8_encode($rowpeso["PESO"]);?>" ><?php echo utf8_encode($rowpeso["PESO"]); ?></option> <?php } ?> </select> </label>  
      Meu banco é MYSQL.
       
      Agradeço desde já a todos pela ajuda.
       
      Abraço!
    • By adriano.eurich
      Estou com duvida de como é montada uma query de um formulário com muitos campos em php!
      Ex. Tenho um formulário com titulo dados do cliente, nele tem vários campos para ser preenchidos, depois tem outro titulo que é dados do anuncio, que também tem vários campos a ser preenchido e mais alguns!
      Todos esses campos estão dentro de um único formulário que gostaria de enviar ao banco! Porem percebi que a query fica enorme e confusa de montar até mesmo para achar um erro!
      Acho que essa não é a melhor forma de fazer! 
      Gostaria de alguma dica ou esclarecimento de como fazer da melhor forma!
       
      Att
      Adriano
       
    • By Kefatif
      Prezados, boa tarde.
       
      Gostaria de ajuda para caso o valor no banco mysql, campo "fase" seja igual a "2" retorne uma mensagem, caso contrário siga o código
       
      Fico agradecido desde já.
       
      Abs.
    • By andreygsantos
      Pessoal, normalmente faço modelagem de banco de dados usando o CA ErWin, mas precisei utilizar a ferramenta de modelagem do MySQL Workbench 8.0 Community.
      O problema ocorre quando a ferramenta começa a "enfeitar o pavão" quando se trata de FK. Vou mostrar um exemplo básico:

      Temos aqui 3 tabelas representando condomínio, unidades e vagas. As vagas pertencem ao condomínio, assim como as unidades. As vagas podem pertencer a unidades diferentes no decorrer do tempo porque não são vagas fixas, portanto não posso pendurar vaga na unidade.
      Problema 1: FK recebe o nome da tabela origem automaticamente.
      Até aqui posso renomear o atributo ou alterar as configurações de modelagem.
       

      Atributos renomeados, temos o seguinte modelo representado acima. Agora vamos levar a PK da entidade UNIDADE para ser FK não identificação na entidade VAGA.
       

      E agora temos o Problema 2: a ferramenta não entende que o atributo CondomínioID já existe e cria novamente com o prefixo da entidade origem. Parece um problema besta e fácil de resolver apagando o atributo duplicado e mantendo apenas UnidadeID, mas ao sincronizar com o banco de dados, começam a surgir erros com índices.
      Abaixo mostro como fica a modelagem no ERWin sem qualquer interferência:
       

      Como podem ver, a modelagem fica perfeita. O ErWin entende que o atributo já existe na entidade e leva apenas o atributo que vai diferenciar para fazer o relacionamento.
       
      Vocês devem estar se perguntando por que eu não uso o ErWin então... Mas a versão do ErWin que tenho não suporta MySQL após a versão 5.x e uma licença nova dessa ferramenta vai me custar 1 rim, senão os 2... Teoricamente, o Workbench deveria fazer essa modelagem sem problemas, mas eu não conheço bem e talvez possa ser alguma configuração. Alguém teria uma luz?
      Obrigado.
       
×

Important Information

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