小编典典

SQL将行对转置为MS ACCESS数据库中的列

sql

我有一个MS Access数据库,其中包含源-
目标对中的翻译句子(CAT工具其他用户的翻译记忆库)。令人讨厌的是,源和目标没有存储在单独的列中,而是存储在通过ID链接的行中,如下所示:

+---+----+--------------+
|id |lang|    text      |
+---+----+--------------+
  1   a     lang a text
  1   b     lang b text 
  2   a     more a text...
  2   b     more b text...
+---+----+--------------+

我可以使用什么SQL将其转换为表,例如:

+---+--------------+--------------+
|id | lang A       | lang B       |
+---+--------------+--------------+
 1   lang a text    lang b text
 2   more a text... more b text...

这里的性能无关紧要,因为我只需要偶尔执行一次,数据库就不会很大(只有几千行)。


阅读 214

收藏
2021-05-05

共1个答案

小编典典

交叉表查询应该适合。

TRANSFORM First([Text]) AS LangText
SELECT ID, First([Text])
FROM Table 
GROUP BY ID
PIVOT lang
2021-05-05