Consultas relacionadas sin JOIN

Iniciado por ryan parker, 5 Julio 2013, 01:54 AM

0 Miembros y 1 Visitante están viendo este tema.

ryan parker

Que tal gente!

Una duda, se puede realizar consultas relacionadas sin joins de tal manera que muestre algun campo especifico de una llave foranea. Por ejemplo:

Carrera Estudiante
------- ----------
idCarrera PK idEstudiante PK
Titulo idCarrera FK
Nombres
Apellido


Código (sql) [Seleccionar]
SELECT Estudiante.idCarrera AS [Carrera], Estudiante.Nombres, Estudiante.Apellido FROM Estudiante;
SELECT Titulo FROM Carrera WHERE Carrera.idCarrera LIKE '%CS%';

Carrera Nombres Apellidos
IS Jeff Parker
CS Mat Brown


CitarTitulo
Ciencias de Computacion

Código (sql) [Seleccionar]
SELECT Estudiante.idCarrera AS [Carrera], Estudiante.Nombres, Estudiante.Apellido FROM Estudiante WHERE Estudiante.idCarrera = (SELECT Carrera.Titulo FROM Carrera WHERE Carrera.idCarrera LIKE '%CS%');

Carrera Nombres Apellidos


Aqui la informacion me aparece en blanco!

Lo que quiero lograr es algo parecido esto

Carrera Nombres Apellidos
Ciencias de computacion Mat Brown
Your kung-fu is not strong!

1mpuls0

Se puede hacer así.

Código (sql) [Seleccionar]

SELECT C.idCarrera, C.Titulo, E.idEstudiante, E.Nombres, E.Apellido FROM Estudiante E, Carrera C
WHERE E.idCarrera=C.idCarrera AND C.idCarrera='IS'


Saludos

abc

s00rk

Usando tu consulta, solo arreglando los pequeños fallos

Código (sql) [Seleccionar]

SELECT Estudiante.idCarrera AS [Carrera], Estudiante.Nombres, Estudiante.Apellido FROM Estudiante WHERE Estudiante.idCarrera IN (SELECT Carrera.idCarrera FROM Carrera WHERE Carrera.idCarrera LIKE '%CS%');