You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决SQLite创建多表关联视图时出现空白字段的问题

正确修改后的语句

CREATE VIEW [OVERVIEW] AS
SELECT 
    Participants.ID,
    Participants.Name,
    Subjects.Subject
FROM Participants
-- 先关联多对多中间关联表,表名含特殊字符需用方括号包裹
LEFT JOIN [participants List] 
    ON Participants.ID = [participants List].[Participant.ID]
-- 再通过中间表关联课程表获取课程名称
LEFT JOIN Subjects 
    ON [participants List].[SUBJECT.ID] = Subjects.ID;

逻辑说明

  • 你之前的错误核心是跳过了多对多关系必备的中间关联表,直接将两个无直接关联的主键字段做匹配,才会出现ID大于3的参与者无法匹配到课程的问题。
  • 多对多关系的关联逻辑为:参与者表 ↔ 中间关联表 ↔ 课程表,需要两次JOIN操作才能正确拿到对应关系。
  • 如果需要将未选课参与者的Subject空值替换为自定义文本,可将SELECT部分的Subjects.Subject改为IFNULL(Subjects.Subject, '未选课')即可。

内容的提问来源于stack exchange,提问作者mr_newbye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:57:05