Mysql - 将不确定的行数转换为多列

时间:2014-06-04 23:38:03

标签: mysql pivot-table

鉴于以下两个表:

+- Members -+
| ID | Name |
+----+------+
|  1 | Bob  |
|  2 | Jim  |
|  3 | Judy |
etc...  

此表代表成员的子女。每个父母可能有很多孩子或没有孩子

+- Children -------------+-----+
| ID | ParentID | Name   | Age |
+----+----------+--------+-----+
|  1 |      3   | Jeff   |   4 |
|  2 |      3   | Casey  |   3 |
|  3 |      1   | Steven |  10 |
|  4 |      2   | Mary   |   7 |
|  5 |      1   | Esther |   8 |
|  6 |      2   | Abe    |  11 |
|  7 |      3   | Paul   |   6 |
etc...

我需要创建一个如下所示的表:

+----+------+--------+------+---------+------+--------+------+
| ID | Name | Child1 | Age1 |  Child2 | Age2 | Child3 | Age3 | 
+----+------+--------+------+---------+------+--------+------+
|  1 | Bob  | Steven |  10  | Esther  |   8  |        |      |
|  2 | Jim  | Abe    |  11  | Mary    |   7  |        |      |
|  3 | Judy | Paul   |   6  | Jeff    |   4  | Casey  |   3  |
+----+------+--------+------+---------+------+--------+------+

我尝试了各种数据透视表方法,但是我看到的每个方法都要求第二个表中第一个表中每行的已知行数。 我基本上需要一个未知数量的列。 group_concat不符合我的要求。

这可能与MySQL有关,还是我需要在后端执行此操作?

0 个答案:

没有答案