2014-02-20 1 views
-1

서로 같은 두 학생이 난 당신이 여기에 볼 수있는 샘플 데이터베이스 학생들의 목록 : https://class.stanford.edu/c4x/Engineering/db/asset/socialdata.html표시 SQL

을하고 난 다음을 수행 SQL 문 쓰기를 시도하고있다 : 디스플레이에게 목록을 두 학생이 서로를 좋아하는 학생들의 바로 이것이 내가 무엇을 얻을이 표시 않다면 나는 확실하지 않다

SELECT A.name, B.name, C.name, D.name 
FROM Highschooler A, Highschooler B, Highschooler C, Highschooler D, Likes L 
WHERE A.ID = L.ID1 AND B.ID = L.ID2 AND C.ID = L.ID2 AND D.ID = L.ID1 AND A.name < B.name AND D.name < C.name 
ORDER BY A.name, B.name, C.name, D.name ASC; 

:

내 코드입니다

Alexis  Kris  Kris  Alexis 
Andrew  Cassandra Cassandra Andrew 
Austin  Jordan  Jordan  Austin 
Brittany Kris  Kris  Brittany 
Cassandra Gabriel  Gabriel  Cassandra 
Jessica  Kyle  Kyle  Jessica 
+0

왜 Highschooler는 4 가지 인스턴스입니까? A와 B로 충분합니다. – rendon

+0

글쎄 두 학생이 서로 좋아해 A는 B를 좋아하지만 B도 A를 좋아해야한다는 것을 보여줄 필요가있다. 문제는 lol – TheGreatDragon

답변

0

나는 당신을 위해 무엇을 찾고있는 것은 같은 것을 말할 것 :

select A.name || ' likes ' || B.name 
from Highschooler A 
join likes   on A.id = Likes.ID1 
join Highschooler B on B.id = Likes.ID2 
+0

이다. Gabriel은 Cassandra를 좋아한다 : 카산드라는 가브리엘을 좋아한다 Andrew likes 카산드라 브리트니 알렉시스 오스틴 가브리엘 제시카 존 카일 제시카 – TheGreatDragon

+0

좋아 헤일리 을 좋아하는 카일 을 좋아 알렉시스 을 좋아 요르단 을 좋아하는 크리스 을 좋아하는 크리스 을 좋아하는 그 꽤 나는 처음 두가 정확하지만 당신은 얻을해야 다른 사람들이 – TheGreatDragon

+0

을하지 않습니다 필요 총 10 개의 결과가 표시됩니다. 같은 테이블에있는 것과 같습니다. – Bruno