Jump to content
willianmarques

consultar 2 tabelas e ver resultado em porcentagem

Recommended Posts

ola pessoal, preciso de uma ajuda de voces...

estou querendo saber o valor da diferenca desses precos em porcentagem sera que tem como ? 

eu tenho esse script : 

SELECT
  Prcprdcab_descricao,chb.Produto,Sigla_Cor,preco,id,chb.BaseCodigo,Aplicacao
FROM
    prcprd prd
    INNER JOIN prdchb chb
    ON prd.Produto = chb.Produto
	where Prcprdcab_descricao = '801' and Aplicacao = 'expos'


SELECT
  Prcprdcab_descricao,chb.Produto,Sigla_Cor,preco,id,chb.BaseCodigo,Aplicacao
FROM
    prcprd prd
    INNER JOIN prdchb chb
    ON prd.Produto = chb.Produto
	where Prcprdcab_descricao = '712' and Aplicacao = 'expos'

 

que deu este resultado

Prcprdcab_descricao	Produto	Sigla_Cor	preco	id	BaseCodigo	Aplicacao
801	03754	sem cor	35,7604	8239856	Eletrofrio	Expos
801	03754	sem cor	35,7604	8239856	Eletrofrio	Expos
801	03754	sem cor	35,7604	8239856	Eletrofrio	Expos
801	04554	sem cor	50,4866	8239944	Eletrofrio	Expos
801	04655	sem cor	71,7	8239954	Eletrofrio	Expos
801	04656	sem cor	71,7	8239955	Eletrofrio	Expos
801	04694	sem cor	50,4866	8239957	Eletrofrio	Expos

 

Prcprdcab_descricao	Produto	Sigla_Cor	preco	id	BaseCodigo	Aplicacao
712	03754	sem cor	35,7604	7798652	Eletrofrio	Expos
712	03754	sem cor	35,7604	7798652	Eletrofrio	Expos
712	03754	sem cor	35,7604	7798652	Eletrofrio	Expos
712	04554	sem cor	50,4866	7798740	Eletrofrio	Expos
712	04655	sem cor	71,7	7798750	Eletrofrio	Expos
712	04656	sem cor	71,7	7798751	Eletrofrio	Expos
712	04694	sem cor	50,4866	7798753	Eletrofrio	Expos


 

oque diferencia um do outro é o PRCPRDCAB_DESCRICAO e o PRECO. Gostaria de comparar o preco do 712 com o 801 e ter o resultado em porcentagem

Share this post


Link to post
Share on other sites

esta a resposta se alguem precisar....

 

SELECT 
        det.idorcmatdet,
        det.descricao,
        det.corPreco,
        p1.Sigla_Cor,
        det.numeroOrcamento,
        p1.Produto,
        det.codigoProduto,
        det.precolista,
        P2.Preco as [Preço antigo],
        P1.Preco as [Preço novo],
        round((-1*(100*(1-(P1.Preco /nullif (P2.Preco,0))))),2)  as razao,
        p1.BaseCodigo
from OrcMatDet as det 
    inner join PRCPRD as P1 on det.codigoProduto = P1.Produto and det.corPreco = P1.Sigla_Cor and det.baseProduto = p1.BaseCodigo
    inner join PRCPRD as P2 on P2.Produto = P1.Produto and P2.Sigla_Cor = P1.Sigla_Cor and P2.BaseCodigo = P1.BaseCodigo
              
where det.numeroOrcamento like 'list0001' 
    and P1.Prcprdcab_descricao = '802' 
    and P2.Prcprdcab_descricao = '801'
    order by idOrcMatDet

    

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 tanaka_
      Gostaria de saber se é possível listar todos os objetos criados no banco de dados por usuário especifico.
      Não é para listar os "dbo" e sim o usuário logado que criou o objeto.
       
      Usuário logado:
      select SYSTEM_USER
       
      Todos os objetos criados:
      select * from sys.all_objects
    • By tanaka_
      Gostaria de saber se é possível listar todos os objetos criados no banco de dados por usuário especifico.
      Não é para listar os "dbo" e sim o usuário logado que criou o objeto.
       
      Usuário logado:
      select SYSTEM_USER
       
      Todos os objetos criados:
      select * from sys.all_objects
    • By Kefatif
      Prezados, bom dia.
       
      Utilizo as linguagens: php, html e banco de dados mysql.
       
      Tenho uma tabela que deveria trazer todos os registros localizados no banco de dados, porém me traz apenas um.
       
      Quando rodo a Query sozinha direto no banco ela me traz todos os registros, mas ao incluir no código php/html me traz apenas o primeiro registro, segue o código abaixo:
       
      $sqlnominal = "SELECT A.CNES, C.NOME_UNIDADE, A.NOME_PACIENTE, A.CPF, A.CNS, A.DATA_NASC, B.DATA_DISPENSACAO, B.CANETA_NPH, B.CANETA_REGULAR FROM insulino_cadastro A INNER JOIN insulino_dispensacao B ON A.ID_PACIENTE = B.ID_PACIENTE INNER JOIN unidades C ON A.CNES = C.CNES and (B.CANETA_NPH != '' or B.CANETA_REGULAR != '')"; $resultnominal = mysqli_query($con, $sqlnominal); $rownominal = mysqli_fetch_array($resultnominal); ?> <table class="table table-hover table-bordered" id="tabela-dispensacao2" style="margin-top:0.2%"> <tr> <th>UNIDADE</th> <th>PACIENTE</th> <th>CPF</th> <th>CNS</th> <th>DATA DE<br>NASCIMENTO</th> <th>RETIRADA</th> <th>CANETA NPH</th> <th>CANETA REGULAR</th> </tr> <td><?php echo $rownominal["CNES"]?></td> <td><?php echo $rownominal["NOME_PACIENTE"]?></td> <td><?php echo $rownominal["CPF"]?></td> <td><?php echo $rownominal["CNS"]?></td> <td><?php echo dataTela($rownominal["DATA_NASC"]); ?></td> <td><?php echo dataTela($rownominal["DATA_DISPENSACAO"]); ?></td> <td><?php echo $rownominal["CANETA_NPH"]?></td> <td><?php echo $rownominal["CANETA_REGULAR"]?></td> </tr> </table> <?php }else{ echo "Nenhum registro encontrado!"; }  
      Agradeço desde  já pela ajuda.
       
      Obrigado!
    • By Kefatif
      Prezados, boa tarde.
       
      Utilizo um banco de dados Mysql + Programação PHP e HTML.
       
      Preciso que no filtro do sql ele não me traga o estoque do CNES "0000000", como eu poderia ta excluindo ele do filtro?
       
       
      $sqlestoque = "select A.ID_ESTOQUE, D.CNES, D.NOME_UNIDADE, B.COBERTURA, A.QTD, C.DATA_REGISTRO FROM lesao_rel_estoque_coberturas A INNER JOIN lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA INNER JOIN lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE INNER JOIN unidades D ON C.CNES = D.CNES WHERE C.ID_ESTOQUE = (SELECT MAX(E.ID_ESTOQUE) FROM lesao_estoque E WHERE E.CNES = C.CNES) ORDER BY A.ID_ESTOQUE DESC";  
      Agradeço a ajuda desde já.
       
      Muito obrigado!
    • By Kefatif
      Prezados, boa tarde.
       
      No meu banco de dados tenho registro de estoque de alguns produtos e suas respectivas unidades.
       
      Eu gostaria que a query só trouxesse o último registro dos produtos daquela unidade.
       
      Utilizo Mysql como banco de dados.
       
      Segue minha Query abaixo:
       
      SELECT A.ID_ESTOQUE, D.CNES, D.NOME_UNIDADE, B.COBERTURA, A.QTD, C.DATA_REGISTRO FROM lesao_rel_estoque_coberturas A INNER JOIN lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA INNER JOIN lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE INNER JOIN unidades D ON C.CNES = D.CNES ORDER BY A.ID_ESTOQUE  
      Agradeço a todos desde já pela ajuda. 
×

Important Information

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