0

我有两张桌子孩子和父母

子表

Id data parent_id
----------------------
1      a1       1
2      abc      2
3      abcd     1
4      xyz      1
5      zxyy     2

父表

Id     data
----------------
1      p1
2      p2

使用单个 MySql 查询我想要像这样的输出

parentID   parentData    childData
--------------------------------------
1          p1            a1
                         abcd
                         xyz
2          p2            abc
                         zxyy

-------------------------------------

如果这对任何人都很重要,我正在使用 PHP。

编辑

任何人都可以在这里帮助我... SQLFiddle

4

3 回答 3

0

你可以这样做-

Select parent.id,parent.data,child.data from parent
  LEFT JOIN child ON parent.id = child.parent_id

或者,您也可以执行以下操作(如果您希望所有数据都在一行中)

Select parent.id,parent.data,group_concat(child.data SEPARATOR ' ') as cdata from parent
  LEFT JOIN child ON  parent.id = child.parent_id group by parent_id
于 2013-03-29T09:58:25.763 回答
0
SELECT pt.id,pt.data,ct.data FROM parent_table pt 
LEFT JOIN child_table ct 
ON pt.ID = ct.parent_id 
GROUP BY ct.data
于 2013-03-29T09:58:50.287 回答
0
SELECT p.parent_id, p.data, c.data
FROM parents p INNER JOIN childs c ON p.id = c.parent_id
ORDER BY p.parend_id ASC, p.data ASC, c.data ASC
于 2013-03-29T09:59:14.390 回答