Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Nesta consulta preciso multiplicar o resultado de um IF pelo resultado de um SELECT, e depois dividir por 12. Tentei fazer isso dessa forma: **(parcelas * valorCalculado / 12) as quota**, mas o MySQL retorna o erro: coluna `parcelas` desconhecida. Sendo que a coluna parcelas não existe em nenhuma tabela, porque foi "criada" durante a consulta, o mesmo ocorre com a coluna valorCalculado. Alguém pode ajudar-me?
SELECT Contribuicoes.codContribuicao, Regioes.regiao, Colaboradores.nomeColaborador, Contribuintes.codContribuinte, nomeContribuinte, IF( avulsa = "0", "Mensal", "Avulsa" ) AS tipo, IF( dataFim = "00-00-0000", dataInicio, CONCAT( dataInicio, " a ", dataFim ) ) AS periodo, IF( tipoMoeda = "r", "Real", "Salário Mínimo" ) AS moeda,
If( Contribuicoes.tipoMoeda = "sm", round( valor *440 /100, 2 ) , valor ) AS valorCalculado, dataInicio, dataFim,
TiposCobrancas.tipoCobranca, Contribuicoes.codRegiao, Contribuicoes.codColaborador,
IF(tipoMoeda="r" && dataFim="0000-00-00", "52",
IF(tipoMoeda!="r" && dataFim!="0000-00-00", "66" ,
IF(tipoMoeda!="r" && dataFim="0000-00-00","72",
IF(tipoMoeda="r" && dataFim!="0000-00-00","99",null)) )
) AS status,b FROM Parcelas WHERE Parcelas.codContribuicao = Contribuicoes.codContribuicao AND anoCampanha = 2009) AS parcelas[/b], b as quota[/b]
FROM Contribuintes, Contribuicoes, Colaboradores, Regioes, TiposCobrancas
WHERE Contribuicoes.codContribuinte = Contribuintes.codContribuinte
AND Colaboradores.codColaborador = Contribuicoes.codColaborador
AND Regioes.codRegiao = Colaboradores.codRegiao
AND TiposCobrancas.codTipoCobranca = Contribuicoes.tipoCobranca
AND dataInicio BETWEEN "2009-01-01" AND "2009-12-31"
AND (
dataFim < "2010-01-01"
OR dataFim = "0000-00-00"
)
ORDER BY status, regiao, nomeColaboradorCarregando comentários...