![]() |
1
2
改变模型是一种选择吗?如果您的任务列真的打算表示层次结构,那么您应该在关系模型中正确地表示层次结构。 如果深度级别的数目固定为三个,另一个选项可能是添加三列来独立地表示任务列的每个“部分”。 如果这不是一个选项,我认为您可以通过一系列分析字符串的case语句(加上sum和group by)来实现这一点。 更新: 好吧,这似乎是一个有趣的挑战,所以我想到了:
|
![]() |
2
1
另一种方法是添加一些计算列,将不同的任务级别分开,然后根据需要分组和求和。 |
![]() |
3
1
假设字段任务的结构是一致的,则可以使用以下内容
这是稍微修改过的版本
|
![]() |
4
1
我在回家的路上考虑过这个问题,我想提出这个解决方案: 创建一个存储层次结构的表,然后执行一个join,获取任务的父级。 任务结构表:
然后我可以这样做:
认为这比做的快
|
|
Johnny T · 基于当前值的SQL合并表[重复] 4 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 4 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 4 月前 |
![]() |
Sax · 规范化Google表格(第一步) 4 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 4 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 4 月前 |