- 此问题在此处已有答案**:
(13个答案)
2天前关闭。
我有一个多语言命令的代码表,其结构如下:
| 身份证|电码|朗|正文|
| - ------|- ------|- ------|- ------|
| 1个|退出命令|德|芬斯特·施利森|
| 第二章|退出命令|恩|关闭窗口|
......(lang
列还包含其他语言,如意大利语、日语等)
我想从该表中提取德语和英语的所有文本,按代码排序。运行下面的命令,我在同一列中得到德语和英语的混合文本:SELECT * FROM table WHERE (lang='de' or lang='en')
但是我希望在单独的列中为lang = English设置一列,其中包含English文本,并在单独的列中为lang = German设置一列,其中包含German文本。
输出的结构应如下所示:
| 电码|朗|德文文本|朗|英文文本|
| - ------|- ------|- ------|- ------|- ------|
| 退出命令|德|芬斯特施利森|恩|关闭窗口|
...
我怎样才能用SQL查询得到这个输出?谢谢你的帮助!
2条答案
按热度按时间fkvaft9z1#
此问题福尔斯透视任务:
CASE
表达式将帮助您提取所需的值。MAX
聚合将允许您删除与分区(GROUP BY code_
)相关的不需要的NULL值。检查here演示。
r6l8ljro2#
我将通过
code
连接表上的两个子查询: