Consulta SQL - problema coalesce

Iniciado por pyxolo, 16 Noviembre 2011, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

pyxolo

Suponiendo que el año próximo la subida del sueldo total de cada empleado será del 6 %, y el año
siguiente del 7 %, haya los nombres y el salario total actual, del año próximo y del siguiente, de
cada empleado. Indique además con SI o NO, si el empleado tiene comisión. Si no tiene comisión, el total se considerá igual al salario. Se supone que no existen comisiones negativas.

Citar
select ename,
coalesce(sal+comm,sal) as salario_actual,
coalesce((sal+comm)+(sal+comm)*0.06,sal+(sal*0.06)) as salario_one,
coalesce((sal+comm)+(sal+comm)*0.06+((sal+comm)+(sal+comm)*0.06)*0.07,sal+(sal*0.06)+(sal+(sal*0.06))*0.07) as salario_two,
coalesce() as commision
from emp;

Mi problema es que no sé crear la columna con SI o NO cuando el salario (sal) es NULL o no.

¿Alguna ayudita por favor?

Nota: El formulario no me deja escribir "hal la" en vez de "haya".

fran800m

case when sal is null Then 'SI' Else 'NO' End

pyxolo

Cita de: fran800m en 17 Noviembre 2011, 02:25 AM
case when sal is null Then 'SI' Else 'NO' End

¡Gracias por tu aporte! Pero uso postgres y desde el terminal me da error el case...

fran800m

Pues me has pillado  ;D

Y es un marrón porque lo soporta sin problema

http://www.postgresql.org/docs/7.4/static/functions-conditional.html

¿Que error te da?¿Cuál es la consulta?¿También da error probándola por ejemplo desde un script php?