Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Sentencia If en Consulta

Estas en el tema de Sentencia If en Consulta en el foro de SQL Server en Foros del Web. Bueno deseo hacer una comparación con un campo pero no se como va el if en el sql server.. Código: SELECT dbo.descuento_facturas.id_conteo, dbo.descuento_facturas.id_servicio, dbo.servicios.nombre, dbo.descuento_facturas.id_empleado, ...
  #1 (permalink)  
Antiguo 18/11/2005, 16:59
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Sentencia If en Consulta

Bueno deseo hacer una comparación con un campo pero no se como va el if en el sql server..

Código:
SELECT     dbo.descuento_facturas.id_conteo, dbo.descuento_facturas.id_servicio, dbo.servicios.nombre, dbo.descuento_facturas.id_empleado, 
                      dbo.empleados.nombre + ' ' + dbo.empleados.apellido AS nombres, 
                      IF dbo.descuento_facturas.total = 1 THEN dbo.descuento_facturas.total / (1 + dbo.facturas.inguat + dbo.facturas.impiva) 
                      ELSE dbo.descuento_facturas.total AS total 
en lo azul intento implementar el if. pero no me resulta, se que tengo algo malo que será...

gracias de antemano..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #2 (permalink)  
Antiguo 18/11/2005, 17:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 5 meses
Puntos: 3
El IF se reemplaza por CASE; asi seria

SELECT dbo.descuento_facturas.id_conteo, dbo.descuento_facturas.id_servicio, dbo.servicios.nombre, dbo.descuento_facturas.id_empleado,
dbo.empleados.nombre + ' ' + dbo.empleados.apellido AS nombres,
case when dbo.descuento_facturas.total = 1
then dbo.descuento_facturas.total / (1 + dbo.facturas.inguat + dbo.facturas.impiva)
else dbo.descuento_facturas.total
end total
  #3 (permalink)  
Antiguo 21/11/2005, 07:58
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
gracias.. se usa case when.. listo. lo aplicamos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.