el esquema es el siguiente.
Son registros de equipos que se almacena su numero de serie y otros datos relevantes de la maquina y tengo otra tabla que tiene el usuario el cual es propiestario de la maquina , esta tabla guarda el usuario, el numero de serie, estado fecha etc.
Entonces hice un cursor para traer los datos, ya que, la unica union entre las 2 tablas es su numero de serie necesito obtener las maquinas q ese usuario tiene a su nombre y traer los datos de cada equipo (no del usuario).
este cursor recibe como dato el numero de serie de la maquina enviada a consultar.
este es el cursor.
Código:
DECLARE @REFERENCIA as int DECLARE REFERENCIA CURSOR FAST_FORWARD FOR SELECT numSerieInterno FROM equiposDerivar WHERE usuarioActual = (SELECT top 1 usuarioActual FROM equiposDerivar WHERE numSerieInterno = @numSerieInterno AND ESTADO ='ASIGNADO' ORDER BY idDerivar DESC) AND numSerieInterno <>@numSerieInterno ORDER BY idDerivar ASC OPEN REFERENCIA FETCH NEXT FROM REFERENCIA INTO @REFERENCIA WHILE (@@FETCH_STATUS = 0) BEGIN SELECT equipos.numSerie,equipos.numSerieInterno,equipos.fechaIngreso,equipos.horaIngreso,equipos.usuario,equipos.modelo,equipos.obs, Intranet.dbo.logueo.Nombre as UsuarioNombre, Intranet.dbo.logueo.Apellido as UsuarioApellido, Intranet.dbo.logueo.dir as Usuariodir, Intranet.dbo.logueo.depto as Usuariodepto, intranet.dbo.marca.nombre as nombreMarca,tipo.Tipo as nombreTipos FROM equipos Left Outer Join Intranet.dbo.logueo on Intranet.dbo.logueo.iid = equipos.usuario Left Outer Join intranet.dbo.marca on intranet.dbo.marca.id = equipos.marca Left Outer Join tipo on tipo.idTipo = equipos.tipo WHERE numSerieInterno = @REFERENCIA FETCH NEXT FROM REFERENCIA INTO @REFERENCIA END CLOSE REFERENCIA DEALLOCATE REFERENCIA
Saludos.