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

Consulta anidada en SQL

Estas en el tema de Consulta anidada en SQL en el foro de SQL Server en Foros del Web. Saludos, tengo una consulta en SQL que ejecuto en MS Access pero no me funciona y estoy atorado, ojalá puedan ayudarme: Tengo una tabla con ...
  #1 (permalink)  
Antiguo 28/08/2008, 12:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Consulta anidada en SQL

Saludos, tengo una consulta en SQL que ejecuto en MS Access pero no me funciona y estoy atorado, ojalá puedan ayudarme:

Tengo una tabla con varios campos de los cuales yo ocupo sólo los siguientes en mi consulta: año,revision, revision_interna,elemento, seguimiento, código (todos son campos numéricos enteros sin decimales).

año,revision,revision_interna,elemento,seguimiento ,codigo
2006,1,1,1,1,50
2006,1,1,1,2,60
2006,1,1,1,3,70
2006,1,1,1,4,70
2008,1,1,3,1,50
2008,1,1,3,2,60
2008,1,1,3,3,60
2008,1,1,2,1,50

Luego entonces cada uno de estos campos puede repetirse en la tabla y lo que identifica a un registro único es la combinación de :

año+revision+revision_interna+elemento+seguimiento

Necesito una consulta que me devuelva sin duplicados el último seguimiento de cada elemento con determinada clave, p/ejem: 60 y 70.

Con la tabla ejemplo que puse debe devolverme:
2006,1,1,1,4,70
2008,1,1,3,3,60

Por lo que he investigado creo que necesito usar consultas anidadas pero no me han dado el resultado correcto

Ideas...?
  #2 (permalink)  
Antiguo 17/09/2008, 14:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 80
Antigüedad: 17 años, 1 mes
Puntos: 1
Información Consulta anidada en SQL

Bueno, lo que tendiras que hacer, seria algo asi:

declare @x integer
set @x =
(
select max(seguimiento)
from t1
where codigo = 60
)

declare @y integer
set @y =
(
select max(seguimiento)
from t1
where codigo = 70
)


select *
from t1
where a.seguimiento >= @x or a.seguimiento >= @y

con esto, ya tienes una idea bien general de lo que debes hacer... suerte!!!!
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 15:40.