Tema: Consulta SQL
Ver Mensaje Individual
  #2  
Antiguo 23-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si entiendo bien (es que el término correlativa no me es familiar) la tabla correlativas almacena las materias que deben ser aprobadas para determinado curso. Así, si por ejemplo

materias
Código:
codigo |      nombre
-------+-----------------
  ...  |       ... 
-------+-----------------
   84  | "Programación 2"
-------+-----------------
  ...  |       ...  
-------+-----------------
La tabla correlativas podía contener las entradas

Código:
codigo1 | correlativa
--------+------------
   84   |     75
--------+------------
   84   |     63
--------+------------
   84   |     12
--------+------------
indicando que las materias con códigos 75, 63 y 12 deben ser aprobadas para poder cursar "Programación 2".

¿Es así?

Bueno, de ser así, fíjate que lo que tú quieres listar no son materias sino correlativas, esto es, no estás listando registros de la tabla materias sino de la tabla correlativas, de manera que una primera aproximación sería:

Código SQL [-]
select
  correlativas.correlativa
from correlativas
where
  correlativas.codigo1 = 84

Pero me parece que tú quieres especificar la materia en el where mediante su nombre y no su código. Ahí es donde entraría el join:

Código SQL [-]
select
  correlativas.correlativa
from correlativas
left join materias
  on materias.codigo = correlativas.codigo1
where
  materias.nombre = "Programación 2"

Y ya para que te presente los nombres correspondietes a las correlativas listadas en lugar de su código simplemente pones:

Código SQL [-]
select
  materias.nombre
from correlativas
left join materias
  on materias.codigo = correlativas.codigo1
where
  materias.nombre = "Programación 2"

En fin, te lo estoy diciendo conforme lo voy pensando y no lo he comprobado pero puedes intentarlo.

// Saludos
Responder Con Cita