mysql多次查询的合并问题

一个mysql表的结构是这样的
+----+-----+
| id | fid |
+----+-----+
| 1 | NULL|
| 2 | NULL|
| 3 | 2 |
| 4 | 2 |
| 5 | 3 |
| 6 | 3 |
+----+-----+

现在要在这样的查询结果:

+----+------+
| id | 子id |
+----+------+
| 1 | NULL |
| 2 | 3,4 |
| 3 | 5,6 |
| 4 | NULL |
| 5 | NULL |
| 6 | NULL |
+----+------+

现在首先SELECT id FROM `table`
然后根据查询出来的结果中的id再查询SELECT * FROM `table` where fid=id

能把这两次查询合并吗?

我想到用join,但是尝试了几次都没得到想要的结果。特来请教,谢谢先
当前问题共有如下(1)个解决方案
  • franzhong
    franzhong
    你这两句查询有重复项(id)如何何并?合并就是覆盖了,再说
    前者 select id后者是select *而后者其实里面也有id;所以如果合并了$resRow["id"]该是哪组数据呢?

    合并是要么完全一致;要么完全不一致
    前者用union就能解决,后者查两次(不用担心效率,差不多的);查完保存数组,一个
    array_merge\array_push就搞一起了
上一篇:win2003系统,mysql如何升级?升级后原数据库中的数据要重新导进升级后的数据库吗?
下一篇:mysql数据库中查看当前使用的数据库是哪个数据库