SQLite如何将关联同张成员表的多查询结果拆分为Chair、Secretary不同列
实现方法
你需要给Members表设置两个不同的别名,分别关联Leaders表的Chair和Secretary字段,即可同时取出两个职位对应的姓名作为独立列,示例语句如下:
SELECT m1.Name AS Chair, m2.Name AS Secretary, l.Year FROM Leaders l -- 第一次关联Members表,匹配主席对应的人员姓名 JOIN Members m1 ON l.Chair = m1.num -- 第二次关联Members表,匹配秘书对应的人员姓名 JOIN Members m2 ON l.Secretary = m2.num ORDER BY l.Year DESC
原写法问题说明
你之前使用UNION ALL是按行合并多个查询的结果,所有返回值会被合并到同一列,自然无法实现分列展示的需求。
补充说明
如果你存在Leaders表中的编号可能在Members表无匹配的场景,可以把JOIN替换为LEFT JOIN,避免无匹配的行被整体过滤。
内容的提问来源于stack exchange,提问作者laurimikhael
相关产品推荐
相关产品推荐

