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
|
|||
|
|||
Multiplicacion de dos campos dentro de un order by...
Hola; quiero ejecutar la siguiente sentencia en sql con el motor de base de datos firebird. Cuando ejecuto esto me sale el siguiente error:
Integer overflow. The result of an integer operation caused the most significant bit of the result to carry. La sentencia es: select I.COD_ITEM AS ARTICULO, I.DESCRIPCION, I.ABC, I.INV_SEGURIDAD AS PUNTO_PEDIDO, I.ORDER_MIN AS LOTE_ECON_COMPRA, TA.QTY AS CONSUMO, TA.UNIT_COST AS PRECIO_ULT_COMPRA, TA.COST AS IMPORTE, TA.ACCUM AS IMPORTE_ACUM, TA.PORCENTAJE, TA.ABC as ABC_CALCULADO, I.LEAD_TIME, TA.UNIT_COST, TA.QTY FROM ITEMS I JOIN TMP_ABC TA ON I.ID_EMPRESA = TA.ID_EMPRESA and I.COD_ITEM = TA.COD_ITEM LEFT JOIN CONSUMO C ON I.COD_ITEM = C.COD_ITEM and I.ID_EMPRESA = C.ID_EMPRESA and C.ANIO = extract(year from current_date) order by (TA.QTY * TA.UNIT_COST) Si a esta sentencia le saco la línea del order by funciona correctamente. Los campos TA.QTY y TA.UNIT_COST son de tipo "numeric (15,8)". Supongo que el error es porque son numeric los campos. Yo necesito ordenar la consulta de mayor a menor pro TA.QTY * TA.UNIT_COST. Esta consulta la realizo desde el delphi para realizar un reporte. También trate de que esta multiplicacion me la devuelva como un campo más para luego poder ordenar la consulta desde el data set de delphi pero tambien me tira el mismo error. Si alguien sabe si existe otra forma de ordenar esto o que estoy haciendo mal, estaré agradecido. Desde ya muchas gracias. Mariano. |
#2
|
|||
|
|||
No se si funcionará:
__________________
Sotoca Web |
#3
|
|||
|
|||
No me funciono
Te comento que de esta forma no me funciono.. Sigue tirandome error en el TA.QTY * TA.UNIT_COST.
No si se te ocurre otra idea. Gracias. Cita:
|
#4
|
|||
|
|||
Prueba a hacer un cast as NUMERIC, o ha dividirlo antes de multiplicar:
(TA.QTY/1000000) * (TA.UNIT_COST/1000000)
__________________
Sotoca Web |
#5
|
|||
|
|||
Asi si funciono
De esta forma si funciono...
Te agradezco mucho por tu tiempo..... Saludos. Muchas gracias de nuevo. Mariano. Cita:
|
#6
|
||||
|
||||
Hola, has probado algo como esto:
Espero te sirva. Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Order by | VRO | SQL | 6 | 31-08-2004 08:17:05 |
Multiplicacion por un flotante | Anotherlife | Varios | 2 | 22-07-2004 09:51:19 |
Valor de DBEdit a partir de la multiplicación de otros dos | RyAr | Conexión con bases de datos | 8 | 09-07-2004 17:14:26 |
Order by ...... | chutipascal | Firebird e Interbase | 8 | 24-06-2003 14:46:21 |
Realizar una multiplicacion en una consulta | muli | SQL | 2 | 19-06-2003 19:44:32 |
|