Duvidas com o uso do CASE

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
br_gluf
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qua, 23 Mar 2016 10:35 am

Olá galera,

Estou com a seguinte duvida:

Tenho a tabela de Direito_Autoral, possui 2 contratos 1 com percentual de 10% e outro 20%, a diferença é que existe
a coluna 'cliente'.
e a tabela:

Cliente - Tabela dos clientes
Nota Fiscal - Possui informações do cliente, vlr etc...
Item Nota Fiscal. Possui o item que recebe o percentual da tabela Direito_Autoral.

Tenho que fazer o seguinte:
Se houver dados na coluna 'cliente' da tabela Direito_Autoral, então devo pegar o percentual
de 20%, senão devo manter padrão.

já tentei utilizar o Case para fazer esta verificação, porém sem sucesso, ele retornou da seguinte forma:
Item | Percentual | Qtd_Vendida
A1 | 10% | 50 -- Cliente contrato padrão
A1 | 10% | 15
A1 | 20%¨ | 15 -- Contrato exclusivo
A2 | 10% | 25
A2 | 10% | 100
A2 | 20% | 100

Aqui ele pegou o cliente e considerou os 2 contratos para o cliente.

Deveria ficar assim:

Item | Percentual | Qtd_Vendida
A1 | 10% | 50
A1 | 20%¨ | 15
A2 | 10% | 25
A2 | 20% | 100

Notem que posso ter o mesmo item repetido, a diferença é que o percentual 10% é de um cliente que usa o contrato padrão
e o 20% é aquele que está na coluna 'cliente' da tabela Direito_Autoral.

Poderiam me dar uma luz ? obrigado.
BCR
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 22 Nov 2012 1:40 pm
Localização: Patos de Minas
Breno Cristovão Rocha.

Você pode tentar usar o comando DECODE, no lugar do comando case

um exemplo aqui mesmo no glufke

http://glufke.net/oracle/viewtopic.php?t=1990
Responder
  • Informação