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 whoopic
      Olá a todos!
      Estou a tentar perceber qual a melhor abordagem para:
      (Campos/Colunas:)
      A - Moeda
      B - Igual a A
      C - (A+B)/2
      D - Caixa de seleção7Checkbox : Se "ligada": C=C/2
       
      Preciso que estes campos sejam "persistentes", para que os possa usar em relatórios.
       
      Pensei em colunas "computadas". Consigo realizar tudo isto com essa abordagem?
      Tentei por exemplo no campo B, usando o campo de fórmula para coluna computada e inserindo o nome da coluna A.
       
       
      Pode alguém dar-me um empurrãozinho?
      Obrigado desde já.
       
    • By TheRonaldoStar
      Olá, Venho aqui de novo para tirar uma dúvida que creio eu ser muito simples porem não sei como aplicar!;
      Como diz no título do post eu gostaria de fazer um select de cadastros cujo o id do usuário online está nesta coluna,
      Porem neste campo contem 2 id separados por uma ' , '. Sendo assim não dar para mim fazer uma pesquisa com com a tag WHERE id ='Valor'
      Em fim eu quero ajuda para selecionar todos os cadastro cujo o id do usuário online está por EX: Sou o usuário 1 existe dois cadastros que tem meu id: [1, 2] e [2, 1];
      Alem de pesquisar todos os cadastros que tenha meu id nesta coluna eu quero que não tenha interferência ou listar cadastro do usuário 1 se eu for o usuário 21 por ex.
       
      Qual quer ajuda é bem vinda!
      Atenciosamente,
      ~Ronaldo
    • By TheRonaldoStar
      Oii, fala ae pessoal!!
      Alguém pode me ajudar com uma coisa por favor?;
      Seguinte!, eu anteriormente fiz uma pergunta aqui no fórum recorrente a isso, mas eu conseguir uma solução parcial.
      Que era, fazer uma listagem de todos os cadastros e fazer a junção dos cadastros com uma coluna igual, Ou seja existem duas colunas [DE e Para], que recebem o id de quem está recebendo ou que está enviando a mensagem, eu conseguir fazer a tal listagem por grupo mas o problema que estou tendo é: que so faz o agrupamento de as colunas contiver o id por ex: [De = "1" e Para ="2"].
      Atualmente estou usando a codificação deste Jeito:
       
      $sql_2 = $db -> prepare("SELECT * FROM privado WHERE (Para = '$Meu_id') Or (De = '$Meu_id') GROUP BY Para, De DESC"); $sql_2 -> execute(); Esta consulta como pode ver ele busca todos os cadastros que tenha o meu ID ou seja do usuário online!, Após a consulta ele vei obter em um "while" somente o [ Id_De eo Id_Para ] desta forma:
      while($dados_2 = $sql_2 -> fetch(PDO::FETCH_OBJ)){ $Id_De = ($dados_2 -> De); $Id_Para = ($dados_2 -> Para); } Mas em fim eu gostaria de saber como mostrar somente um resultado ou seja o ultimo resultado que tiver o meu ID em ambas colunas [ Id_De ou Id_Para ].
      Antes de vocês me recomendar a função DESC LIMIT 'valor' saiba eu quero que liste todos os usuários que enviou ou recebeu minha mensagem não somente 1 ou seja se eu mandar um mensagem para o usuário 2 e ele me retornar uma mensagem vai mostrar somente o ultimo registro que tenha o meu ID e o id dele.
       
      Atenciosamente,
      ~Ronaldo
       
    • By Aureo Almeida
      Eu possuo em uma página em que existe um menu, com categorias inseridas a partir de um banco de dados, e na mesma página uma listagem de produtos.
      A função deste menu é enviar para a clausula where do SQL que lista os produtos parâmetros que permitam filtro dos produtos. Faço isso com a variável $_GET, da seguinte forma:
      $sub_id = $_GET['sct_id']; Isso funciona certinho, porém o problema é que quando a página é carregada, a não ser que seja feita uma opção no menu para selecionar os produtos, a listagem deles volta vazia e com o seguinte erro:
      array(0) { } Notice: Undefined index: sct_id in D:\XAMPP\htdocs\projeto\arq\cosm.php on line 76 Tentei desenvolver as seguinte condições que mudassem o SQL,  mas não consegui fazer dar certo:
      if(empty($sub_id = array(0))) $sql = "SELECT * FROM psd_produtos WHERE ctg_id = 1"; else { $sql = "SELECT * FROM psd_produtos WHERE ctg_id = 1 AND sct_id = '$sub_id'"; } Como fazer com que o SQL que orienta a consulta quando a página for carregada seja um, e quando passo parâmetro via GET seja outro?
    • By thunanchiu@hotmail,com
      Bom dia, gostaria dessa ajuda.
      Tenho uma tabela de "INSCRIÇÃO" onde a mesma possui 2 chaves estrangeiras (CAND_SQ e CANDPL_SQ). Ambas as chaves estrangeiras possuem um campo CPF.
      Gostaria de saber como eu trago os cpfs que são iguais dentro da inscrição.
      Ou seja, atualmente tenho uma INSCRIÇÃO onde pode ser feita de duas maneiras diferentes. Inscrição Regular e Inscrição Atraso. Quando eu for fazer a Inscrição Atraso, caso eu já tenha feito a Inscrição Regular não poderei fazer a Inscrição Atraso.
×

Important Information

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