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

Mar*_*ski 6 sql ms-access transpose rows

我有一个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...
+---+----+--------------+
Run Code Online (Sandbox Code Playgroud)

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

+---+--------------+--------------+
|id | lang A       | lang B       |
+---+--------------+--------------+
 1   lang a text    lang b text
 2   more a text... more b text...
Run Code Online (Sandbox Code Playgroud)

性能在这里并不重要,因为我只需要偶尔执行一次,并且db不是很大(只有几千行).

Fio*_*ala 7

交叉表查询应该适合.

TRANSFORM First([Text]) AS LangText
SELECT ID, First([Text])
FROM Table 
GROUP BY ID
PIVOT lang
Run Code Online (Sandbox Code Playgroud)

更多信息:http://allenbrowne.com/ser-67.html