Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardoluizv

Select com mais de um If

Recommended Posts

Eu precisava fazer um SQL que se o salário fosse null ou <= 0, fizesse esse cálculo ((contribuicao*100)/arraliquota.funcional)), e se a contribuição fosse null ou <= 0 jogasse o salário na coluna nx_salário... Como que eu faço isso?

 

SELECT 
					data,arraliquota.funcional,

					IFNULL(salario ,((contribuicao*100)/arraliquota.funcional)) AS nv_salario,
					ano,mes,contribuicao,salario

			FROM 
				cntcontribuicao,arraliquota 
			WHERE 
					idsegurado='404' 
					GROUP BY 
					data, nv_salario, ano,mes
					ORDER BY ano,mes ASC

Compartilhar este post


Link para o post
Compartilhar em outros sites

O CASE funcionou. O problema que eu encontrei depois foi o seguinte: a tabela 'arraliquota' possui 'data_inicio' e 'data_fim', eu precisava que o SQL encontrasse todas as datas da tabela 'cntcontribuicao' e se relacionasse na seguinte forma, (cntcontribuicao.data >= arraliquota.data_inicio AND cntcontribuicao.data <= data_fim) ou seja que as datas da tabela 'cntcontribuicao' que estivesse dentro dos períodos das alíquotas e que não tivesse salário realizasse os calculos para gerar o novo salário (contribuicao *100 / aliquota) e se tivesse o sálario, então pegar o salário e jogar no novo salário.

 

O select fez isso que eu descrevi acima, o problema é que duplicou a tabela aliquota... como fazer isso sem duplicar nenhuma tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.