FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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
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 |
#3
|
|||
|
|||
hola la solucion es genial la probe lo deje asi
y me arroja la consulta Tipo_Cantidad --------------- Gramos Unidades Gramos Gramos los tipos y los valores me arroja una columna sin nombre sera por el substring(cast(cast(((PP.Cantidad * @NroPlatos)) as real(4)) as varchar(12)),1,5) la columna sin nombre arroja ------- 0.8 2 1.38 0.716 lo hace bien pero como le doy un nombre a esa columna si le pongo algo asi como CantidadesKG = substring(cast(cast(((PP.Cantidad * @NroPlatos)) as real(4)) as varchar(12)),1,5) me da error Servidor: mensaje 170, nivel 15, estado 1, línea 7 Línea 7: sintaxis incorrecta cerca de '='. Servidor: mensaje 170, nivel 15, estado 1, línea 7 Línea 7: sintaxis incorrecta cerca de 'PP'. Servidor: mensaje 170, nivel 15, estado 1, línea 9 Línea 9: sintaxis incorrecta cerca de 'PP'. si le quito me sale perfecto, como le doy nombre a la columna muchas gracias por al respuesta me la resolvieron muy muy rapido (quiero que la columna tenga nombre por que la estoy llamando desde un dbgrid en delphi) muchas muchas gracias [ContraVeneno] Última edición por Memo6015 fecha: 24-11-2008 a las 20:26:19. |
#4
|
||||
|
||||
Prueba a 'bautizar' la columna y dinos el resultado. En este caso debería aparecer como 'CANTIDAD'. Pon lo que quieras. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#5
|
||||
|
||||
En SQL Server, tienes varias formas de darle un 'alias' a tu campo:
__________________
|
#6
|
|||
|
|||
hola amigos muchas gracias todo perfecto
muchas gracias por la rapides con la que me ayudaron |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con consulta | Nomad | SQL | 14 | 26-09-2008 20:47:55 |
Problema con consulta de SQL | mramos65 | SQL | 4 | 23-11-2007 17:35:08 |
problema con consulta sql | Cosgaya | SQL | 4 | 16-01-2006 18:09:17 |
Problema con consulta de SQL | Durbed | Firebird e Interbase | 2 | 30-09-2004 21:41:39 |
Problema con consulta | PaLaSaca | Conexión con bases de datos | 4 | 23-04-2004 00:12:25 |
|