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

[SOLUCIONADO] Error de desbordamiento aritmético al unir consultas

Estas en el tema de Error de desbordamiento aritmético al unir consultas en el foro de SQL Server en Foros del Web. Hola amigos, como las consultas a continuación funcionan bien cada una, pero al unirlas, sale el error mencionado: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT ...
  #1 (permalink)  
Antiguo 15/10/2015, 15:30
 
Fecha de Ingreso: octubre-2015
Ubicación: Bogotá
Mensajes: 13
Antigüedad: 9 años, 2 meses
Puntos: 0
Error de desbordamiento aritmético al unir consultas

Hola amigos, como las consultas a continuación funcionan bien cada una, pero al unirlas, sale el error mencionado:

Código SQL:
Ver original
  1. SELECT SUM(valorunitario), nombre, UNDVENTA, ordimp,CANTIDAD,IVA, PRODUCTO
  2. FROM(
  3.  
  4. SELECT [dbo].[F_MonedaMVForm]('FAC','FS','7332',M1.idmvtrade) AS ValorUnitario,M1.PRODUCTO,M1.NOMBRE,M1.UNDVENTA,CANTIDAD,M1.IVA, 0 AS 'ordimp'
  5.     FROM MVTrade AS M1 INNER JOIN MTMERCIA ON M1.PRODUCTO = MTMERCIA.CODIGO
  6.     WHERE NOT M1.PRODUCTO IN ('2600','2600A') AND
  7.        M1.Origen ='FAC' AND  
  8.        M1.TipoDcto='FS' AND  
  9.        M1.NroDcto='7332' UNION
  10.        
  11. SELECT '2600' AS producto, 'TRANSPORTE NACIONAL DE CARGA'AS NOMBRE ,total1 AS valorunitario,total2 AS cantidad,undventa,iva,ordimp FROM(
  12. SELECT nombre, SUM(valorunit) total1, SUM(cantidad) total2, undventa,iva,ordimp
  13. FROM(
  14. SELECT TB1.PRODUCTO,TB1.NOMBRE,TB1.VALORUNIT,TB1.CANTIDAD,TB1.UNDVENTA,TB1.IVA, 0 AS 'ORDIMP'
  15. FROM   MVTRADE AS TB1 JOIN MTMERCIA AS TB2 ON TB1.PRODUCTO = TB2.CODIGO
  16. WHERE   TB1.PRODUCTO IN ('2600','2600A') AND
  17.         TB1.ORIGEN = 'FAC' AND
  18.         TB1.TIPODCTO = 'FS' AND
  19.         TB1.NroDcto='7332'
  20. GROUP BY PRODUCTO,NOMBRE,VALORUNIT,CANTIDAD,UNDVENTA,TB1.IVA
  21. ) AS t1
  22. GROUP BY nombre, undventa,iva,ordimp
  23. ) AS t2
  24.  
  25. ) AS N1 GROUP BY nombre, UNDVENTA, ordimp, IVA, CANTIDAD, PRODUCTO

y el error:
Mens. 8115, Nivel 16, Estado 6, Línea 1
Error de desbordamiento aritmético al convertir varchar al tipo de datos numeric.
  #2 (permalink)  
Antiguo 15/10/2015, 16:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Error de desbordamiento aritmético al unir consultas

prueba con esto:

Código SQL:
Ver original
  1. SELECT SUM(valorunitario), nombre, UNDVENTA, ordimp,CANTIDAD,IVA, PRODUCTO
  2. FROM(
  3.  
  4.  
  5.  
  6. SELECT
  7. M1.PRODUCTO,
  8. M1.NOMBRE,
  9. [dbo].[F_MonedaMVForm]('FAC','FS','7332',M1.idmvtrade) AS ValorUnitario,
  10. CANTIDAD,
  11. M1.UNDVENTA,
  12. M1.IVA,
  13. 0 AS 'ordimp'
  14.     FROM MVTrade AS M1 INNER JOIN MTMERCIA ON M1.PRODUCTO = MTMERCIA.CODIGO
  15.     WHERE NOT M1.PRODUCTO IN ('2600','2600A') AND
  16.        M1.Origen ='FAC' AND  
  17.        M1.TipoDcto='FS' AND  
  18.        M1.NroDcto='7332'
  19.  
  20. UNION
  21.        
  22. SELECT '2600' AS producto, 'TRANSPORTE NACIONAL DE CARGA'AS NOMBRE ,total1 AS valorunitario,total2 AS cantidad,undventa,iva,ordimp FROM(
  23. SELECT nombre, SUM(valorunit) total1, SUM(cantidad) total2, undventa,iva,ordimp
  24. FROM(
  25. SELECT TB1.PRODUCTO,TB1.NOMBRE,TB1.VALORUNIT,TB1.CANTIDAD,TB1.UNDVENTA,TB1.IVA, 0 AS 'ORDIMP'
  26. FROM   MVTRADE AS TB1 JOIN MTMERCIA AS TB2 ON TB1.PRODUCTO = TB2.CODIGO
  27. WHERE   TB1.PRODUCTO IN ('2600','2600A') AND
  28.         TB1.ORIGEN = 'FAC' AND
  29.         TB1.TIPODCTO = 'FS' AND
  30.         TB1.NroDcto='7332'
  31. GROUP BY PRODUCTO,NOMBRE,VALORUNIT,CANTIDAD,UNDVENTA,TB1.IVA
  32. ) AS t1
  33. GROUP BY nombre, undventa,iva,ordimp
  34. ) AS t2
  35.  
  36.  
  37. ) AS N1 GROUP BY nombre, UNDVENTA, ordimp, IVA, CANTIDAD, PRODUCTO
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: desbordamiento, join, select
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 08:04.