从同一个表中获取多个记录

时间:2013-06-24 04:46:33

标签: mysql drupal

如何编写mysql查询来获取相同的字段。我的表格数据如下。

Nid title language tid
 1   aa    en       1
 2   aa    ar       1
 3   bb    en       2
 4   bb    ar       2

现在我要显示nid,title,english nid,arabic nid等字段。

期望的输出:

 Nid Title  engilsh nid Arabic nid
  1    aa    1             2
  2    bb    3             4

1 个答案:

答案 0 :(得分:0)

尝试

SELECT title,
       MAX(CASE WHEN language = 'en' THEN nid END) english_nid, 
       MAX(CASE WHEN language = 'ar' THEN nid END) arabic_nid
  FROM table1
 GROUP BY title

输出:

| TITLE | ENGLISH_NID | ARABIC_NID |
------------------------------------
|    aa |           1 |          2 |
|    bb |           3 |          4 |

这是 SQLFiddle 演示