我有3张桌子: - 注册(Stu_id,姓名,地址,......,状态), 3个选定科目的Applicant_Choice(Stu_id,Sub_id1,Sub_id2,Sub_id3) 主题名称的主题(Sub_id,Subject_name,....)
我想以下列形式提取报告: - id,name,address,...申请人表格中存在的Sub_id1,Sub_id2,Sub_id3的3个主题名称,其中Register.status = 6.
到目前为止,我使用循环生成每条记录的主题名称。但申请人表中将有1000条记录。那么在这种情况下生成pdf文件的查询太多了!!!任何人都可以告诉我如何编写此查询?提前谢谢。
答案 0 :(得分: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;