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

[SOLUCIONADO] Unir consultas, error de varchar

Estas en el tema de Unir consultas, error de varchar en el foro de SQL Server en Foros del Web. Buen día compañeros. En mi trabajo voy a utilizar 100% sql, y como tengo tantas dudas, acá entro a leer y he aprendido montones. Bueno, ...
  #1 (permalink)  
Antiguo 10/10/2015, 08:16
 
Fecha de Ingreso: octubre-2015
Ubicación: Bogotá
Mensajes: 13
Antigüedad: 8 años, 6 meses
Puntos: 0
Unir consultas, error de varchar

Buen día compañeros.
En mi trabajo voy a utilizar 100% sql, y como tengo tantas dudas, acá entro a leer y he aprendido montones.

Bueno, como dijo el dermatólogo, al grano:

La primera consulta es como el programa contable genera la factura.
La segunda, es como solicito que me consolide la sumatoria de dos valores diferentes en una casilla. La idea es incluir ese item en la factura. Cada consulta de manera independiente funciona, pero al unirlas, sale error de varchar a numeric

Select [dbo].[F_MonedaMVForm]('FAC','FS','7332',mvtrade.idmvtrade) as ValorUnitario,MTMERCIA.REFERPROV, 0 AS 'ordimp'
From MVTrade LEFT JOIN MTMERCIA ON MVTrade.PRODUCTO = MTMERCIA.CODIGO
Where not MVTrade.PRODUCTO in ('2600','2600A') and
MVTrade.Origen ='FAC' And
MVTrade.TipoDcto='FS' And
MVTrade.NroDcto='7332'
union
Select '2600' as codservicio, sum(MVTrade.VALORUNIT),MVTrade.NOMBRE from mvtrade
where MVTrade.PRODUCTO in ('2600','2600A') and MVTrade.ORIGEN = 'FAC' and MVTrade.TIPODCTO = 'FS' and MVTrade.NroDcto='7332' group by NOMBRE

como puedo arreglarlo?
gracias de antebrazo
  #2 (permalink)  
Antiguo 12/10/2015, 03:26
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Unir consultas, error de varchar

Los valores en cada columna deben ser del mismo tipo.
Por ejemplo, en este caso vas a obtener un error:

Código SQL:
Ver original
  1. SELECT 1
  2. UNION ALL
  3. SELECT 'a';

Tenés que convertir los números en cadenas:
Código SQL:
Ver original
  1. SELECT CAST(1 AS VARCHAR(100))
  2. UNION ALL
  3. SELECT 'a';
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #3 (permalink)  
Antiguo 13/10/2015, 15:24
 
Fecha de Ingreso: octubre-2015
Ubicación: Bogotá
Mensajes: 13
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Unir consultas, error de varchar

Gracias. Finalmente lo resolví así:

Select [dbo].[F_MonedaMVForm]('FAC','FS','7332',mvtrade.idmvtrade) as ValorUnitario,mvtrade.PRODUCTO,mvtrade.NOMBRE,mvtr ade.UNDVENTA, 0 AS 'ordimp'
From MVTrade INNER JOIN MTMERCIA ON MVTrade.PRODUCTO = MTMERCIA.CODIGO
Where not MVTrade.PRODUCTO in ('2600','2600A') and
MVTrade.Origen ='FAC' And
MVTrade.TipoDcto='FS' And
MVTrade.NroDcto='7332' union

Select sum(MVTrade.VALORUNIT) AS ValorUnitario,mvtrade.PRODUCTO,mvtrade.NOMBRE,mvtr ade.UNDVENTA, 0 AS 'ordimp'
from mvtrade JOIN MTMERCIA ON MVTrade.PRODUCTO = MTMERCIA.CODIGO
where MVTrade.PRODUCTO in ('2600','2600A') and
MVTrade.ORIGEN = 'FAC' and
MVTrade.TIPODCTO = 'FS' and
MVTrade.NroDcto='7332'
group by PRODUCTO, NOMBRE, UNDVENTA

Etiquetas: select, sql, varchar
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 07:47.