![]() |
1
1
好的,我们开始:
结果:
编辑-解决方案更改灵感来源于van's order by!这样更简单。 |
![]() |
2
4
在我看来,您似乎希望将层次结构扁平化并排序,获得此排序的最便宜方法是在具有完整路径的表中存储一个额外的列。 例如: Name | Full Path Free Stuff | Free Stuff aa2 | Free Stuff - aa2 一旦存储了完整的路径,就可以对其进行订购。 如果深度只有一个,则可以使用单个子查询(并对其排序)自动生成达到此效果的字符串,但当深度变深时,此解决方案无法轻松工作。 另一种选择是,将这些内容全部移动到临时表中,并根据需要计算其中的完整路径。但它相当昂贵。 |
![]() |
3
2
您可以让表自己看一看,按父名称排序,然后按子名称排序。
|
![]() |
5
1
这里有一个使用复活公共表表达式的完整工作示例。
|
![]() |
6
1
长填充是为了说明SQL Server的int数据类型从2147483648到2147483647。
你可以
值得注意的是,此表达式不能使用任何索引。这意味着对大表的排序将很慢。 |
![]() |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 7 年前 |
![]() |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
![]() |
hud · 执行存储过程会导致错误 9 年前 |
![]() |
Gonzalo · 如何将存储过程的结果插入到新表中? 9 年前 |