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

PARA GEO AVILA... If en Sentencia SQL

Estas en el tema de PARA GEO AVILA... If en Sentencia SQL en el foro de Bases de Datos General en Foros del Web. ...Companiero, vi en el foro de "Bases de Datos" que tienes el mismo problema que yo, en querer colocar un IF dentro de una sentencia ...
  #1 (permalink)  
Antiguo 21/11/2005, 15:23
 
Fecha de Ingreso: octubre-2005
Mensajes: 50
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta PARA GEO AVILA... If en Sentencia SQL

...Companiero, vi en el foro de "Bases de Datos" que tienes el mismo problema que yo, en querer colocar un IF dentro de una sentencia SQL, yo lo necesito para introducirlo en mi "DATAREPORT" tambien vi que te pasaron una respuesta pero no he podido hacerlo funcionar...

...Resolviste tu problema? has podido utilizar dicho comando "CASE" Me podrias pasar el codigo o algun ejemplo con el cual lo lograste?

...De antemano...Muchas Gracias!
  #2 (permalink)  
Antiguo 21/11/2005, 17:32
 
Fecha de Ingreso: octubre-2005
Mensajes: 50
Antigüedad: 18 años, 6 meses
Puntos: 0
...Claro que si cualquier otra persona sabe implementar dicho "CASE-WHEN" (para sentencias SQL), que nos de la funcion del "IF" (para Visual Basic) la respuesta sera Bienvenida!!

...Si se entiende verdad?... el caso es hacer que funcione un IF dentro de un "Select" al hacer una consulta a una base de datos...Ejemplo...

SELECT Cupones.Folio, Cupones.Cantidad, Cupones.Precio,
(If Cupones.Available = TRUE then Cupones.Precio * Cupones.Cantidad else Cupones.Precio) AS PrecioTotal
FROM CUPONES


...LO QUE ESTA ENTRE PARENTESIS ES LO QUE NO SE COMO HACER, que si el campo (Available) es TRUE que me multiplique la cantidad por el precio, SINO que me de solo el precio...Saludos
  #3 (permalink)  
Antiguo 22/11/2005, 08:20
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
Pues funciona igual que el IF

CASE WHEN <condicion> THEN <sentencia>ELSE <sentencia> END AS NombreSentencia
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #4 (permalink)  
Antiguo 22/11/2005, 11:46
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
SELECT Cupones.Folio, Cupones.Cantidad, Cupones.Precio,
CASE ELSE If Cupones.Available = TRUE THEN Cupones.Precio * Cupones.Cantidad ELSE Cupones.Precio END AS PrecioTotal
FROM CUPONES

Por cierto quedaría así.. para la proxima estas preguntas se hacen en el foro de bases de datos..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 22/11/2005, 15:15
 
Fecha de Ingreso: octubre-2005
Mensajes: 50
Antigüedad: 18 años, 6 meses
Puntos: 0
Ultimaaaaa Pregunta...

...Ultima pregunta, pongo mi codigo en el DATAREPORT segun la sintaxis que me diste y me dice SINTAX ERROR (Missing Operator), pero mi DATAREPORT esta ligado a una Base de datos en "ACCESS" sera que este CASE No funciona con bases de datos access? claro que me fui directamente a intentar correr este query desde access y me sale el mismo error... es por eso que te hago la pregunta...

...Gracias de antemano!
  #6 (permalink)  
Antiguo 22/11/2005, 15:26
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
En acces lo hacés así:

Código:
SELECT Cupones.Folio, Cupones.Cantidad, Cupones.Precio, IIf(Cupones.Available=True, Cupones.Precio*Cupones.Cantidad, Cupones.Precio) AS PrecioTotal
FROM Cupones
IIf(Expresión, Parte verdadera, Parte falsa)

La próxima sería bueno que digas de qué BD se trata antes de cualquier otra cosa
__________________
...___...
  #7 (permalink)  
Antiguo 22/11/2005, 18:22
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
Claro Daz se me olvidó mencionar que yo trabajo con Sql Server..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #8 (permalink)  
Antiguo 23/11/2005, 15:51
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
vamos a foro de base de datos para dejar la refencia.


movido desde foro de programacion
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #9 (permalink)  
Antiguo 23/11/2005, 15:54
 
Fecha de Ingreso: octubre-2005
Mensajes: 50
Antigüedad: 18 años, 6 meses
Puntos: 0
Perfecto

...Muchisimas Gracias...Asunto arreglado!, y para la proxima prometo escribir a que base de datos me refiero...Saludos!

...Avilware!
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 01:28.