sql server—如何以指定格式从多对多关系中提取数据,以便在使用sql的复选框中使用?

r55awzrz  于 2021-07-27  发布在  Java
关注(0)|答案(1)|浏览(411)

ll表格结构如下所示。

举个例子,我想要一个学生的注册信息,比如id为3的学生。
我希望查询结果采用上述格式。

我打算使用true/false或0,1列链接到前端的复选框列表。这样学生就可以轻松地检查/取消检查自己注册的课程。
更多信息
我的项目将在asp.net mvc中创建。所以,我也可以使用linq查询。假设标准模型代码没有注解。
编辑:我没有写我的尝试,因为我只是没有得到足够的距离张贴在这里。但它在这里

SELECT COURSE.CNAME, 0
FROM COURSE
union
SELECT COURSE.CNAME, ENROLLMENT.EID
FROM COURSE INNER JOIN ENROLLMENT
ON COURSE.CID = ENROLLMENT.CID
INNER JOIN STUDENTS
ON STUDENTS.SID = ENROLLMENT.SID
WHERE STUDENTS.SID = 3
nfg76nw0

nfg76nw01#

我想你想要一个 left join . 这将给你的结果,你想要的学生 3 :

select
    e.eid,
    c.cname,
    c.cid,
    case when e.eid is null then 0 else 1 end as isenrolled
from course c
left join enrollment e on e.cid = c.cid and e.sid = 3
order by is_enrolled desc, e.eid, c.cid

相关问题