Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2011, 09:37
kannalez
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Seleccionar varios campos iguales relacionados con otra tabla

Hola!

Perdon si el titulo no es muy descriptivo pero no se como explicarlo muy bien, creo q lo entenderan mejor al explicar el problema

Tengo una base de datos para manejar la informacion de los aspirantes que aplican a realizar un examen de admision a una universidad.

Existe una tabla tblAspirante donde estan los datos generales de cada uno, la clave primaria es el numero de identidad. Luego existe una tabla llamada tblRegistro donde al aspirante se le asigna un numero de solicitud al momento q se inscribe para realizar el examen y otros campos referentes al examen como puntaje obtenido, etc.; tblRegistro esta relacionada con tblAspirante por medio del numero de identidad ya que un aspirante puede realizar mas de 1 vez el examen. Aqui no tengo problema alguno.

Ahora el asunto viene aqui, existe una tabla llamada tblCarrera con datos sobre las carreras q ofrece la universidad. Esta esta relacionada con tblRegistro ya que al momento de inscribirse, los aspirantes deben seleccionar 3 opciones de carreras q desearian estudiar y una vez hecho el examen de admision se le asignara la carrera segun el puntaje q obtuvieron.

En resumen en tblRegistro tengo 3 campos: codigoCarrera1, codigoCarrera2, codigoCarrera3 que hacen la relacion con tblCarrera.

Ahora mi problema surge al querer mostrar la informacion de registro de cada aspirante, porque no he encontrado la forma de mostrar los nombres de las 3 carreras (porq mostrar el codigo no tienen ningun sentido, no se pondran a aprenderse todos los codigos de las carreras). He probado y probado y no encuentro forma de hacerlo...

Seria algo asi:

|--Nombre--|--Carrera1--|--Carrera2--|--Carrera3--|

He probado esto
Cita:
SELECT
tblRegistro.codCarrera1, tblCarrera.nombreCarrera
FROM
tblRegistro, tblCarrera WHERE tblRegistro.codCarrera1=tblCarrera.codCarrera
UNION ALL
(SELECT tblRegistro.codCarrera2, tblCarrera.nombreCarrera
FROM tblRegistro, tblCarrera WHERE tblRegistro.codCarrera2=tblCarrera.codCarrera)
UNION ALL
(SELECT tblRegistro.codCarrera3, tblCarrera.nombreCarrera
FROM tblRegistro, tblCarrera WHERE tblRegistro.codCarrera3=tblCarrera.codCarrera)
pero lo q hace es mostrarme los datos asi:

Aspirante1 -- Carrera1
Aspirante2 -- Carrera1
Aspirante1 -- Carrera2
...

Y pues necesito que esten en las misma fila las 3 carreras de cada aspirante.

Saludos y gracias por leer el testamento jejeje