Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2011, 07:15
Avatar de luisito1
luisito1
 
Fecha de Ingreso: junio-2009
Ubicación: Córdoba
Mensajes: 226
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Ayudaaa :( subconsulta en sql compleja y necesito con urgencia (relacion c

ya lo resolvi amigos, y se los dejo por si alguna vez tienen un problema con una sub consulta... miren si les tira error y no le encuentran la vuelta lo que pueden hacer es dividir la sub consulta en dos consultas(sera un poco mas de programacion pero les va andar 10 puntos en este caso quedaria asi


1) seleccionamos las label y tranformamos lo que era texto en su id correspondiente


Cita:
ALTER procedure [dbo].[traerhorariopersonal]
@dni int,
@horario varchar(50),
@dia varchar(50),
@turno varchar (50),
@curso varchar (50)

as
select hp.id_personal,hp.horario,hp.dia,hp.turno,hp.curso from personal p
inner join horariopersonal hp on hp.id_personal = p.id_personal
inner join cursos c on c.curso = hp.curso
inner join turnos t on t.turno = c.turno
inner join horarios h on h.turno = t.turno
inner join dias d on d.dia = hp.dia
where p.nro = @dni and h.descripcion =@horario and d.descripcion = @dia and t.descripcion = @turno and c.descripcion = @curso




2) se trae todo las variables tantas las que sacamos en el select anterior (para comparar en la base de datos como las variables que vamos a usar para cambiar



Cita:
create procedure [dbo].[modificarhorariosdocente]
@personal varchar(50),
@horariom int,
@diam int,
@turnom int,
@cursom varchar(50),
@horario int,
@dia int,
@turno int,
@curso varchar (50)

as

update horariopersonal set horario = @horario ,dia =@dia,turno=@turno,curso=@curso
where (id_personal=@personal) and (horario =@horariom) and (dia =@diam) and (turno=@turnom) and (curso=@cursom)





BUENO AMIGOS ESPERO QUE LES HAYA SIDO UTIL.. UN ABRAZO