SQL to transpose row pairs to columns in MS ACCESS database

前端 未结 4 1089
南旧
南旧 2020-12-10 07:35

I have an MS Access database that contains translated sentences in source-target pairs (a translation memory for fellow users of CAT tools). Somewhat annoyingly, source and

相关标签:
4条回答
  • 2020-12-10 08:10
    select a.id, a.text as 'lang A', b.text as 'lang B'
    from table a join table b on (a.id = b.id)
    where a.lang = 'a' and b.lang = 'b';
    

    where "table" is whatever table these are in.

    0 讨论(0)
  • 2020-12-10 08:27

    A crosstab query should suit.

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

    Further information: http://allenbrowne.com/ser-67.html

    0 讨论(0)
  • 2020-12-10 08:30

    You need a self-join:

    SELECT
        t1.id, t1.text AS lang_a, t2.text AS lang_b
    FROM
        lang_table AS t1
    INNER JOIN
        lang_table AS t2
    ON
        (t1.id = t2.id)
    WHERE
        t1.lang = 'a'
    AND
        t2.lang = 'b'
    
    0 讨论(0)
  • 2020-12-10 08:34
    SELECT a.id,
    MAX(CASE WHEN a.lang LIKE 'a' THEN a.text) AS Lang A,
    MAX(CASE WHEN a.lang LIKE 'a' THEN a.text) AS Lang A
    FROM table a
    GROUP BY a.id
    
    0 讨论(0)
提交回复
热议问题