gpt4 book ai didi

c# - 如何显示自指表?

转载 作者:行者123 更新时间:2023-11-29 06:50:27 24 4
gpt4 key购买 nike

我有一个名为类别的表。某些类别是其他类别的子类别。

--------------------------
ID | Name | Upper_Category
--------------------------

Upper_Category 引用另一个类别的 ID
我需要像这样显示表格:

ID | Name    | Upper_Category
1 | ROOT #1 | NULL
5 | exam #2 | 1
7 | exam #3 | 1
4 | ROOT #2 | NULL
9 | exam #4 | 4
2 | exam #5 | 4
3 | exam #6 | 4
6 | ROOT #3 | NULL
...

首先显示Upper_CategoryNULL的类别,然后显示引用它们的子类别。

我尝试了很多使用 JOINS 和 UNION 但没有成功。

最佳答案

您需要在 order by 子句中使用 case:

select *
from table1
order by case when Upper_Category is null then id else upper_category end, upper_category

结果:

+----+---------+----------------+
| ID | Name | Upper_Category |
+----+---------+----------------+
| 1 | ROOT #1 | NULL |
| 5 | exam #2 | 1 |
| 7 | exam #3 | 1 |
| 4 | ROOT #2 | NULL |
| 9 | exam #4 | 4 |
| 2 | exam #5 | 4 |
| 3 | exam #6 | 4 |
| 6 | ROOT #3 | NULL |
+----+---------+----------------+

DEMO

关于c# - 如何显示自指表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com