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

如何用SQL的SELECT命令提取并分列展示德英双语命令文本

实现多语言文本分列的SQL方案

你可以通过两种常用方法实现将德语、英语文本拆分到独立列的需求:

方法1:自连接(适合确保每个code都有德英双语的场景)

通过将表自身按code关联,分别筛选德语和英语的行,直接拼接成目标结构:

SELECT 
    de.code,
    de.lang AS de_lang,
    de.text AS `German text`,
    en.lang AS en_lang,
    en.text AS `English text`
FROM translations de
INNER JOIN translations en 
    ON de.code = en.code 
    AND de.lang = 'de' 
    AND en.lang = 'en'
ORDER BY de.code;

说明:

  • 用INNER JOIN只会返回同时存在德英双语的code记录
  • 给两个lang列分别取别名de_lang和en_lang,避免列名重复冲突

方法2:条件聚合(兼容部分code缺少某语言的场景)

使用CASE语句结合聚合函数,按code分组后提取对应语言的文本,适合需要保留仅单语言记录的场景:

SELECT 
    code,
    'de' AS de_lang,
    MAX(CASE WHEN lang = 'de' THEN text END) AS `German text`,
    'en' AS en_lang,
    MAX(CASE WHEN lang = 'en' THEN text END) AS `English text`
FROM translations
WHERE lang IN ('de', 'en')
GROUP BY code
ORDER BY code;

说明:

  • 用MAX()(或MIN(),因单语言对应唯一值)提取分组后的目标文本
  • 若某个code缺少德语/英语,对应列会显示NULL
  • WHERE子句先过滤掉无关语言,提升查询效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:30:23