sql - 如何以指定格式从多对多关系中提取数据以用于使用 SQL 的复选框?
问题描述
例如,我想要一个学生的注册详细信息,假设 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
解决方案
我想你想要一个left join
. 这会给你你想要的结果 student 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
推荐阅读
- python - Modin之间的比较| 黄昏 | 数据表 | 用于并行处理和内存不足 csv 文件的 Pandas
- excel - 如何防止 Excel 用户窗体自动收缩/扩展?
- r - R - 用转义字符连接字符串
- android - Google登录对话框关闭android studio后屏幕闪烁
- docker - 如何在容器启动时为所有用户在 docker 容器系统范围内设置环境变量?
- java - 简单的刽子手游戏 - 3 个问题
- python - 将部分 JSON 文件翻译成印地语
- postgresql - 过滤postgresql查询,其中值不是同一列中任何其他值的子字符串
- ms-access - VBA 过滤器适用于计算而不是报告启动
- spring-boot - 控制器中的验证错误返回 401 而不是 400