Ver Mensaje Individual
  #1  
Antiguo 24-11-2008
Memo6015 Memo6015 is offline
Miembro
 
Registrado: ago 2008
Posts: 35
Reputación: 0
Memo6015 Va por buen camino
Problema con Consulta

Hola amigos de clubdelphi tengo un problema con una consulta y no puedo resolverla, hay cosas de sql que aun no domino muy bien, bueno aqui va

tengo una base de datos en sql server 7 tengo una tabla llamada productos

la tabla productos tiene

nombe
cantidad
tipo_cantidad

( las cantidades de la tabla estan en gramos y en unidades)

debo construir una consulta que convierta las cantidades de productos a klogramos


cree esta consulta

Código SQL [-]
select 
        nombre,
        Cantidad,
        CantidadKG = substring(cast(cast(((Cantidad * 1)   / 1000) as real    (4)) as varchar(12)),1,3),
  
        from Productos

en donde dice (Cantidad * 1) / 1000 ese 1 corresponde a una variable que va cambiando puse el 1 como referencia, bueno con esta consulta funciona me arroja los valores que estaba en gramos en kilogramos peroooo, el problema es que en la misma tabla tengo tambien productos que son unidades y si un producto de tipo unidad pasa por esa consulta en la parte donde dice

(Cantidad * 1) / 1000 supongamos que ese 1 se cambia por 28 quedaria (Cantidad * 28) / 1000 = 0.028 ese numero no me sirve

como le digo a la consulta que cuando las cantidades sean de tipo unidades solo multiplique (Cantidad * el numero) y no haga la division por 1000??

estuve viendo algo del if y el else pero no me resulta no se como hacerlo
supongo que debe ser la consulta algo asi como

si tipo_cantidad = 'Kilos' entonces (Cantidad * 1) / 1000 ( entonces divide)
si no
(Cantidad * 1) (entonces solo multiplica)

como puedo hacer eso ayuda plis he intentado cosas pero no me resulta
Responder Con Cita