Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: pyxolo en 16 Noviembre 2011, 16:46 pm



Título: Consulta SQL - problema coalesce
Publicado por: pyxolo en 16 Noviembre 2011, 16:46 pm
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".


Título: Re: Consulta SQL - problema coalesce
Publicado por: fran800m en 17 Noviembre 2011, 02:25 am
case when sal is null Then 'SI' Else 'NO' End


Título: Re: Consulta SQL - problema coalesce
Publicado por: pyxolo en 17 Noviembre 2011, 11:26 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...


Título: Re: Consulta SQL - problema coalesce
Publicado por: fran800m en 17 Noviembre 2011, 14:21 pm
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?