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

hay alguna manera que funcione esta consulta SELECT

Estas en el tema de hay alguna manera que funcione esta consulta SELECT en el foro de SQL Server en Foros del Web. quiero mostrar la lista de alumnos completa que No pertenecen a una materia(seria el codigo) ejemplo esta muestra los alumnos pertenecientes a la materia codigo ...
  #1 (permalink)  
Antiguo 14/11/2009, 08:32
 
Fecha de Ingreso: mayo-2007
Ubicación: Buenos aires
Mensajes: 19
Antigüedad: 17 años
Puntos: 0
hay alguna manera que funcione esta consulta SELECT

quiero mostrar la lista de alumnos completa que No pertenecen a una materia(seria el codigo)
ejemplo esta muestra los alumnos pertenecientes a la materia codigo 1

SELECT A.legajo, A.nombre FROM alumnos A
inner JOIN alumnosxmateria AXM ON
A.legajo = AXM.legajo WHERE AXM.codigo=1

y para no pertenecer a la materia probe

SELECT A.legajo, A.nombre FROM alumnos A
left JOIN alumnosxmateria AXM ON
A.legajo = AXM.legajo WHERE AXM.codigo<>1

pero No me larga la lista completa de alumnos solo los alumnos que estan en la tabla alumnosxmateria
ejemplo no figura legajo 37 quiero que figuren todas los alumnos se no esten asignados a esa materia

tabla alumnos
legajo nombre
1 diego
2 gdefg
35 diego
36 s
37 swsw

legajo clave principal


tabla alumnosxmateria

legajo codigo

1 1
1 2
2 1
35 1
36 1

legajo,codigo clave compuesta


tabla materias

codigo nombre
1 prog3
2 lab3


codigo clave principal
  #2 (permalink)  
Antiguo 14/11/2009, 09:17
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: hay alguna manera que funcione esta consulta SELECT

Tendrías que agregar una condicional más verificando si el legajo del alumno está dentro de la tabla alumnosxmateria

Código sql:
Ver original
  1. SELECT  A.legajo, A.nombre
  2. FROM    alumnos A
  3. LEFT
  4. JOIN    alumnosxmateria AXM
  5. ON  A.legajo =  AXM.legajo
  6. WHERE   AXM.codigo <> 1  OR A.legajo NOT IN(SELECT legajo FROM alumnosxmateria)

Espero te ayude
__________________
Eduardo Peredo
Wigoin
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 10:33.