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

Union

Estas en el tema de Union en el foro de SQL Server en Foros del Web. tengo un error de intercalazion esta es la consulta SELECT Hotel.dbo.abonoccobrar.Id_Recibo, Hotel.dbo.OpcionesDePago.Fecha, Hotel.dbo.OpcionesDePago.MontoPago, Hotel.dbo.OpcionesDePago.FormaPago, Hotel.dbo.OpcionesDePago.CodMoneda, (SELECT ISNULL(dbo.CuentaContable.CuentaContable, 0) FROM dbo.SettingCuentaContable INNER JOIN dbo.CuentaContable ON dbo.SettingCuentaContable.IdCaja ...
  #1 (permalink)  
Antiguo 08/04/2011, 08:45
 
Fecha de Ingreso: febrero-2009
Mensajes: 6
Antigüedad: 15 años, 2 meses
Puntos: 0
Union

tengo un error de intercalazion esta es la consulta


SELECT Hotel.dbo.abonoccobrar.Id_Recibo, Hotel.dbo.OpcionesDePago.Fecha, Hotel.dbo.OpcionesDePago.MontoPago,
Hotel.dbo.OpcionesDePago.FormaPago, Hotel.dbo.OpcionesDePago.CodMoneda,
(SELECT ISNULL(dbo.CuentaContable.CuentaContable, 0)
FROM dbo.SettingCuentaContable INNER JOIN
dbo.CuentaContable ON dbo.SettingCuentaContable.IdCaja = dbo.CuentaContable.id) AS CuentaContable,
(SELECT ISNULL(dbo.CuentaContable.Descripcion, 0)
FROM dbo.SettingCuentaContable INNER JOIN
dbo.CuentaContable ON dbo.SettingCuentaContable.IdCaja = dbo.CuentaContable.id) AS DescripcionCuenta,
Hotel.dbo.OpcionesDePago.TipoCambio
FROM Bancos.dbo.Cuentas_bancarias RIGHT OUTER JOIN
Hotel.dbo.Detalle_pago_caja ON Bancos.dbo.Cuentas_bancarias.Cuenta = Hotel.dbo.Detalle_pago_caja.CuentaBancaria LEFT OUTER JOIN
Hotel.dbo.TipoTarjeta ON Hotel.dbo.Detalle_pago_caja.ReferenciaTipo = Hotel.dbo.TipoTarjeta.Id RIGHT OUTER JOIN
Hotel.dbo.OpcionesDePago INNER JOIN
Hotel.dbo.abonoccobrar ON Hotel.dbo.OpcionesDePago.Documento = Hotel.dbo.abonoccobrar.Num_Recibo ON
Hotel.dbo.Detalle_pago_caja.Id_ODP = Hotel.dbo.OpcionesDePago.id
WHERE (Hotel.dbo.OpcionesDePago.TipoDocumento = 'ABO') AND (Hotel.dbo.abonoccobrar.Contabilizado = 0) AND (Hotel.dbo.abonoccobrar.Anula = 0) AND
(Hotel.dbo.OpcionesDePago.FormaPago = 'EFE' OR
Hotel.dbo.OpcionesDePago.FormaPago = 'CHE')
UNION
SELECT Hotel.dbo.abonoccobrar.Id_Recibo, Hotel.dbo.OpcionesDePago.Fecha, Hotel.dbo.OpcionesDePago.MontoPago,
Hotel.dbo.OpcionesDePago.FormaPago, Hotel.dbo.OpcionesDePago.CodMoneda, Hotel.dbo.TipoTarjeta.CuentaCXC AS CuentaContable,
Hotel.dbo.TipoTarjeta.NombreCXC AS DescripcionCuenta, Hotel.dbo.OpcionesDePago.TipoCambio
FROM Bancos.dbo.Cuentas_bancarias RIGHT OUTER JOIN
Hotel.dbo.Detalle_pago_caja ON Bancos.dbo.Cuentas_bancarias.Cuenta = Hotel.dbo.Detalle_pago_caja.CuentaBancaria LEFT OUTER JOIN
Hotel.dbo.TipoTarjeta ON Hotel.dbo.Detalle_pago_caja.ReferenciaTipo = Hotel.dbo.TipoTarjeta.Id RIGHT OUTER JOIN
Hotel.dbo.OpcionesDePago INNER JOIN
Hotel.dbo.abonoccobrar ON Hotel.dbo.OpcionesDePago.Documento = Hotel.dbo.abonoccobrar.Num_Recibo ON
Hotel.dbo.Detalle_pago_caja.Id_ODP = Hotel.dbo.OpcionesDePago.id
WHERE (Hotel.dbo.OpcionesDePago.TipoDocumento = 'ABO') AND (Hotel.dbo.abonoccobrar.Contabilizado = 0) AND (Hotel.dbo.abonoccobrar.Anula = 0) AND
(Hotel.dbo.OpcionesDePago.FormaPago = 'TAR')
  #2 (permalink)  
Antiguo 08/04/2011, 09:14
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Union

Tienes que revisar la intercalacion una a una las columnas de tipo char o varchar.
Para ver la intercalacion puedes usar sp_help nombretabla
Luego, donde sea diferente la intercalacion usas: nombrecampo COLLATE nombreintercalacion
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: union
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 18:42.