查询输出为树MySQL

查询输出为树MySQL,mysql,sql,tree,Mysql,Sql,Tree,我的MySQL数据库中有两个表: 文件夹表 +----+----------+ | ID | Name | +----+----------+ | 1 | folder 1 | | 2 | folder 2 | | 3 | folder 3 | +----+----------+ 和文件表 +----+--------+-----------+---------+ | ID | Name | ID_folder | Ref | +----+--------+-----

我的MySQL数据库中有两个表:

文件夹表

+----+----------+
| ID |   Name   |
+----+----------+
|  1 | folder 1 |
|  2 | folder 2 |
|  3 | folder 3 |
+----+----------+
文件表

+----+--------+-----------+---------+
| ID |  Name  | ID_folder |   Ref   |
+----+--------+-----------+---------+
|  1 | file1  |         2 | ref133  |
|  2 | file 2 |         3 | ref2044 |
|  3 | file 3 |         3 | refA001 |
+----+--------+-----------+---------+
我想创建一个MySQL查询,输出以下结果:

输出:

即,首先显示一个文件夹(父文件夹),然后在每个文件夹下显示这些文件,并使用三个不同的值排序(列出文件的文件号、列出文件夹的文件夹号以及使文件夹显示在其文件之前的
isFile
值),此查询执行以下操作:

SELECT Name, Ref
FROM
    ((SELECT Name, '' as Ref, 0 AS isFile, ID as ID_folder, ID
      FROM Table1)
     UNION
     (SELECT Name, Ref, 1 AS isFile, ID_folder, ID
      FROM Table2))
AS tmp
ORDER BY ID_folder, isFile, ID;

你能告诉我们到目前为止你都做了些什么吗?
SELECT Name, Ref
FROM
    ((SELECT Name, '' as Ref, 0 AS isFile, ID as ID_folder, ID
      FROM Table1)
     UNION
     (SELECT Name, Ref, 1 AS isFile, ID_folder, ID
      FROM Table2))
AS tmp
ORDER BY ID_folder, isFile, ID;