我需要 sql 查询来获取所需的格式

Posted

技术标签:

【中文标题】我需要 sql 查询来获取所需的格式【英文标题】:I need sql query for getting the Required format 【发布时间】:2012-03-24 23:13:18 【问题描述】:

我的表格类别包含id(AutoIncrement),Parent_id,Level,Name

最初级别 1 的数据的 Parent_id 为 0。自动增量 id 将是下一级的 Parent_id。我的表表表数据将像这样

id     Parent_id    Level    Name
1       0             1      Indian
2       0             1      International
3       0             1      Nri
4       1             2      BC 
5       2             2      Christian
6       2             2      Muslim
7       4             3      MBC-1
8       7             4      OBC-2
9       1             2      FC

我想以这种格式显示记录(它就像一个树视图)

id     Parent_id    Level    Name
1       0             1      Indian
4       1             2      BC 
7       4             3      MBC-1
8       7             4      OBC-2
9       1             2      FC
5       2             2      Christian
6       2             2      Muslim
2       0             1      International
3       0             1      Nri
4       1             2      BC 

任何人都可以帮助我使用 sql Query 获得这种数据排列吗?

【问题讨论】:

mysql中没有递归查询。 你能解释一下你的愿望安排吗?我不明白。我有一个查询的想法......但我无法理解你的想法 @user966875:你的结构中的层数是有限的,还是可能是无限的? 【参考方案1】:

如果它没有固定数量的分支,您可能希望在应用程序中循环查询或编写 SP 以获取所有节点。这里有一些很好的阅读: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

【讨论】:

以上是关于我需要 sql 查询来获取所需的格式的主要内容,如果未能解决你的问题,请参考以下文章

我的 SQL 查询中需要 HTML 代码来格式化带有千位分隔符的表格编号,并使总列值以粗体显示

如何查询/将数据转换为所需的格式

水晶报告:无法确定获取此报告数据所需的查询

如何从这种错误的 JSON 格式中获取所需的数据?

尝试从 Access 运行 Excel 以格式化导出的表,获取所需的对象错误

有没有办法测量 SQL 查询执行所需的时间而不用 Java 获取结果?