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 gust.php
      Prezados, boa noite.
       
      Nunca fiz isso e estou dúvidas.
       
      Tenho as tabelas CATEGORIAS e SUBCATEGORIAS. Os cadastros e relacionamentos estão funcionando perfeitamente, tudo ok aqui.
      Tenho também a tabela PRODUTOS.
       
      Digamos que eu tenha produtos que fazem parte de categorias que não tem subcategoria, e tenho produtos que fazem parte de subcategorias de alguma categoria.
       
      Como fazer o relacionamento desses produtos?
       
      Vou relacionar a tabela PRODUTOS com CATEGORIAS e SUBCATEGORIAS ?
      A dúvida surgiu pois um produto pode fazer parte de uma categoria que não tem subcategoria, mas posso ter também produtos que fazem parte de subcategorias de uma categoria.
      E qual a cardinalidade desse relacionamento?
       
      Ja vi gente fazendo o relacionamento só com SUBCATEGORIA, mas e se não existir subcategoria????
       
      produto many to many categoria
      produto many to many subcategoria
       
      produto
      id | produto 
       
      prod_cat
      cat_id | prod_id
       
      categoria
      id | categoria 
       
      subcategoria
      id | categoria 
       
      prod_subcat
      subcat_id | prod_id
       
      Como resolver isso de um forma correta?
    • By danicarla
      Oi gente.. tenho uma tabela de endereços e uso php para fazer dois loops para exibir as cidades e depois os bairros daquela cidade,
      fica algo + ou - assim:
      $a = mysql_query('SELECT nome_cidade FROM tab GROUP BY nome_cidade'); while($b = mysql_fetch_array($b)){ echo $b['nome_cidade'].'<br>'; $c = mysql_query('SELECT nome_bairro FROM tab WHERE nome_cidade='$b[nome_cidade]' GROUP BY nome_bairro'); while($d = mysql_fetch_array($c)){ echo $d['nome_bairro'].'<br>'; } } Alguém sabe se eu consigo fazer isso somente com uma consulta? pra não precisar incluir um loop dentro do outro
    • By Agnosticado
      Olá senhores, estou intrigado com uma coisa: tenho o seguinte código:
      $id_exame = "50296"; $pesquisa = "SELECT motivo, CASE WHEN motivo = 'Intensa superposição celular em mais de 75% de esfregaço' THEN 'A' WHEN motivo = 'Sangue em mais de 75% de esfregaço' THEN 'B' WHEN motivo = 'Artefatos de dessecamento mais de 75% de esfregaço' THEN 'C' ELSE 'TESTE' END AS opcao FROM insatisfatorio WHERE exame_id = '$id_exame' ORDER BY opcao ASC"; $linha = mysql_query($pesquisa); while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){ echo $pesquisa["opcao"]; } Quando executo usando
       
      $linha = mysql_query($pesquisa);
                 while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){
              echo $pesquisa["opcao"];
              echo "<br>";
       
       
      a saída é palavra "TESTE" que o default e não o texto "B" que corresponde a string da chamada do $id_exame = 50296.
       
      O ESQUISITO é que quando executo todo select que está na variável $pesquisa direto no SGBD dá certo e o texto "B" aparece normalmente.
      PQ DIABOS ISSO ACONTECE???
    • By Gemenson Miranda
      Oi pessoal, estou com um problema na minha hospedagem LInux do Godaddy, publiquei meu site, fiz o apontamento correto do banco de dados, mas quando acesso a URL o site me exibe HTTP ERROR 500 exibe realizei a configuração do arquivo .htaccess, alterei as permissões para (755), nada disso resolve... A questão e que sempre que comento as informações de apontamento do banco de dados no arquivo index.php o site carrega normalmente, porem sem conexão com o bando mysql, o que me faz pensar que o erro pode esta relacionado ao banco mysql, porem não consigo visualizar o erro por que a tela fica toda branca e não retorna nada, como resolver esse erro ou ao menos exibir qual erro causa ele?? agradeço!
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
×

Important Information

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