【发布时间】:2019-05-29 10:58:00
【问题描述】:
我有桌子:
CREATE TABLE lc (
id CHARACTER(4),
name TEXT
);
“id”列在有item和subitem的地方有code值,例如:
物品
1, 2, 3 ... 10, 11 ...
子项目:
101, 102, 201, 301 ... 1001, 1002, 1101 ...
其中,101 是 1 的子项,201 是 2 的子项,1001 是 10 的子项,依此类推。
如何使用“Order By”并具有以下顺序:
1
101
102
2
201
...
10
1001
1002
11
1101
...
【问题讨论】:
-
你真的应该改变你的表格设计并添加一个
parent列以避免这种子项结构 -
您正在显示直到项目 11 的样本数据。如果项目更多,我们将在某个时候到达项目 101(它已经是项目 10 的子项目)。它的第一个子项是 10101。那会放在 101 和 102 之间吗? IE。 1、101、10101、102、……?
-
@juergend,因为是巴西管风琴的代码表。 ovalleleao.com.br/Publicacoes/…
-
@ThorstenKettner 不!只有两个级别... 10中的第一个是1001。我已经解决了!谢谢!
-
啊,好吧,我明白了。文档上升到第 40 项,您认为它保证永远不会到达第 101 项。
标签: sql postgresql select sql-order-by