2015-11-22 3 views
-2

Как я могу это сделать?Как я могу сделать эту работу

У меня есть 2 таблицы:

курс:
конечно идентификатор, имя
PREREQ:
курс И.Д., PREREQ идентификатор

Что такое запрос для этого результата:

+----------+------------+----------+------------+ 
|Course ID |Name  |Prereq ID |Prereq Name | 
|1   |Intro into B|   |   | 
|2   |Biology  |1   |Intro into B| 
|3   |Genetics |1   |Intro into B| 
+----------+------------+----------+------------+ 
+0

Попробуйте отступы стола так, что страница автоматически распознает его код. вы можете просмотреть, чтобы убедиться, что все правильно. Это поможет людям прочитать ваш вопрос. –

+0

, но имя prereq в первой строке все еще показывает Intro в B –

+0

Ниже представлен ответ на тот же вопрос? – chris85

ответ

0
SELECT c.courseId, c.courseName, p.prereqId, pc.courseName 
FROM course as c 
    // joins prerequisites 
    LEFT JOIN prereq as p on p.courseId=c.courseId 
    // joins course data to prerequisites 
    LEFT JOIN course as pc on p.prereqId=pc.courseId 
+0

yesss ... это работает. спасибо, очень много :))) –

0

Вы должны использовать левый join, чтобы вытащить эти две вкладки ле вместе, что-то вроде:

Select c.courseid, c.coursename, p.prere1id, p.preqname 
from course as c 
left join prereq as p 
on c.courseid = p.courseid 
+0

нет prereqname, я думаю, что имя prereq использует courseame. –

+0

Я не знаю вашу схему таблиц, в которую вы ее не включили. В вашем ожидаемом выходе у вас есть «Prereq Name», соответственно измените имя столбца? – chris85

+0

стол есть, стол курс = курс, courseame, table prereq = courseid, preereqid. –

Смежные вопросы