SQL - Duda SQl

 
Vista:

Duda SQl

Publicado por martin (1 intervención) el 16/10/2010 01:35:55
Buenas! Tengo el siguiente query en sql server 2005, me está dando un error cerca del "=" del subquery.. alguien sabe que puede ser?

DECLARE @fecha SMALLDATETIME
SELECT
cuenta,
pCliente,
pSucursal,
0,
pMoneda,
1,
CASE WHEN fCreacion_cuenta > (SELECT TOP 1 @FECHA = TRA_FECHA
FROM [gd_esquema].[vTransacciones]
WHERE TRA_CUE_DESTINO=cuenta OR TRA_CUE_ORIGEN=cuenta
ORDER BY TRA_FECHA ASC)
THEN @FECHA ELSE fCreacion_cuenta END
FROM [gd_esquema].[vCuentas]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Duda SQl

Publicado por Leonardo Josué (1173 intervenciones) el 18/10/2010 17:55:10
Buenos días Martín, en tu subquery tienes tres signos (=):

@FECHA = TRA_FECHA
DESTINO=cuenta
TRA_CUE_ORIGEN=cuenta

Por lo que el problema puede estar en cualquiera de ellos (no das más detalles acerca del error)

Verifica que el campo TRA_FECHA exista en tu tabla [gd_esquema].[vTransacciones] y sea de tipo SMALLDATETIME

Otro posible error puede ser ocasionado por falta de alias en tus tablas. no sé a qué tabla pertenecen los campos DESTINO, TRA_CUE_ORIGEN y cuenta, pero puedo suponer que los dos primeros corresponden a la tabla [gd_esquema].[vTransacciones] y cuenta a tu tabla [gd_esquema].[vCuentas], puedes intentar hacer lo siguiente

DECLARE @fecha SMALLDATETIME
SELECT
C.cuenta,
C.pCliente,
C.pSucursal,
0,
C.pMoneda,
1,
CASE WHEN C.fCreacion_cuenta > (
SELECT TOP 1 @FECHA = V.TRA_FECHA
FROM [gd_esquema].[vTransacciones] V
WHERE
V.TRA_CUE_DESTINO = C.cuenta OR
V.TRA_CUE_ORIGEN = C.cuenta
ORDER BY V.TRA_FECHA ASC
)
THEN
@FECHA ELSE C.fCreacion_cuenta
END
FROM [gd_esquema].[vCuentas] C

Prueba y nos comentas los resultados

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar