2015-04-03 2 views
-1

У меня есть 3 таблицы: - Регистрация (Stu_id, имя, адрес, ...., статус), Applicant_Choice (Stu_id, Sub_id1, Sub_id2, Sub_id3) для 3 выбранных субъекты Субъекты (Sub_id, Subject_name, ....) для имен субъектовКак написать эту инструкцию SQL для объединения 3 таблиц

Я хочу извлечь отчет в форму: - id, name, address, ... 3 наименования для Sub_id1, Sub_id2, Sub_id3 present в таблице Заявителя, где Register.status = 6.

До сих пор я использую циклы для генерации имен тем для каждой записи. Но в таблице претендентов будет 1000 записей. Так что в таком случае так много запросов на создание pdf-файла будет слишком много !!! Может ли кто-нибудь показать мне, как написать этот запрос? Заранее спасибо.

ответ

1

Попробуйте один из:

select r.stu_id, r.name, r.address, s1.subject_name, s2.subject_name, s3.subject_name 
    from register r 
    inner join applicant_choice a 
    on r.stu_id = a.stu_id 
    inner join subjects s1 
    on a.sub_id1 = s1.sub_id 
    inner join subjects s2 
    on a.sub_id2 = s2.sub_id 
    inner join subjects s3 
    on a.sub_id3 = s3.sub_id 
    where r.status = 6; 

Пример скрипку: http://sqlfiddle.com/#!9/5daaa/3

+0

Как я могу поблагодарить вас сэр ?. Это работает и мне очень помогло! –

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