【发布时间】:2020-11-16 23:03:04
【问题描述】:
我有以下数据库表:COMMENT 和 TAG 和 COMMENT_TAG。它们之间有多对多的关系,实际上单个评论可以有多个标签,单个标签可以在多个cmet中使用。让我们想象一下:
COMMENT
---------------
ID TEXT
1 comment1
2 comment2
3 comment3
4 comment4
TAG
---------------
ID NAME
1 bb
2 cc
3 ca
4 aa
5 ac
6 bd
COMMENT_TAG
---------------
ID_COMMENT ID_TAG
1 1
1 2
1 3
1 4
2 1
2 3
3 3
3 4
3 5
3 6
4 1
4 2
4 3
4 4
4 5
4 6
因此在 FE 端显示以下数据
Comment Tags
==================================
comment1 bb, cc, ca, aa
comment2 bb, ca
comment3 ca, aa, ac, bd
comment4 bb, cc ,ca, aa, ac, bd
我想按以下方式进行排序:
1按字母顺序对每条评论的标签进行排序:
Comment Tags
==================================
comment1 aa, bb, ca, cc
comment2 bb, ca
comment3 aa, ac, bd, ca
comment4 aa, ac, bb, bd, ca, cc
2 按标签按字母顺序对 cmets 进行排序:
Comment Tags
==================================
comment4 aa, ac, bb, bd, ca, cc
comment3 aa, ac, bd, ca
comment1 aa, bb, ca, cc
comment2 bb, ca
您能否建议如何使用 SQL 来实现它,或者建议一些替代方法来为此类用例排序?
【问题讨论】:
-
用您使用的数据库标记问题。
-
@forpas 抱歉忘记了这一点。我刚刚添加了标签
-
SQL Server 与 Oracle 不同。事实上,您不仅必须标记您使用的数据库,还必须标记它的版本。
标签: sql sql-server oracle sorting many-to-many