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

Uso de variables en subqueries

Estas en el tema de Uso de variables en subqueries en el foro de SQL Server en Foros del Web. Que tal, Quisiera saber si ¿ Es posible utilizar variables dentro de un subquery en SQL Server 2000? Con la siguiente consulta, obtengo un error ...
  #1 (permalink)  
Antiguo 16/11/2005, 12:38
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
Uso de variables en subqueries

Que tal,

Quisiera saber si ¿ Es posible utilizar variables dentro de un subquery en SQL Server 2000?

Con la siguiente consulta, obtengo un error del motor:

DECLARE @fecha DATETIME
SELECT precio
FROM ventas_productos
WHERE fecha = (
SELECT @fecha = MIN( fecha )
FROM ventas_productos
WHERE venta_id = 4
)
AND venta_id = 4

El error que genera es :

Servidor: mensaje 170, nivel 15, estado 1, línea 5
Línea 5: sintaxis incorrecta cerca de '='.

Consulte el error y basicamente es un error por sintaxis,
pero si ejecuto solo la instruccion donde me marca el error, no hay problema.

DECLARE @fecha DATETIME
SELECT @fecha = MIN( fecha )
FROM ventas_productos
WHERE venta_id = 4

Mi solución fue separar las consultas, pero aun tengo la duda del uso de variables en subconsultas.

Gracias por los comentarios
  #2 (permalink)  
Antiguo 16/11/2005, 13:19
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Código:
Select
	Top 1 precio
From 
	ventas_productos
Where 
	venta_id = 4
Order By
	fecha ASC

Última edición por Andres95; 16/11/2005 a las 13:55
  #3 (permalink)  
Antiguo 16/11/2005, 15:19
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
No funciona de la manera que quieres, la asignacion en un select no regresa ningún valor como resultado del select (solo lo asigna a la variable), es por eso que no te funciona.

DECLARE @fecha DATETIME

SELECT @fecha = MIN( fecha )
FROM ventas_productos
WHERE venta_id = 4

SELECT precio
FROM ventas_productos
WHERE fecha = @fecha
AND venta_id = 4

Aunque te han dado alguo que te puede reultar más útil
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 02:40.