小编Cur*_* F.的帖子

在没有LISTAGG的Oracle SQL中按字符串列表排序

我正在使用两个实体:ItemAttribute看起来如下所示:

Item
----
itemId

Attribute
---------
attributeId
name
Run Code Online (Sandbox Code Playgroud)

一个Item具有Attributes,如在关联表中指定:

ItemAttribute
--------------
itemId
attributeId
Run Code Online (Sandbox Code Playgroud)

当这些数据到达客户端时,它将显示Item每行一行,每行将按Attribute名称列出s.例如:

Item  Attributes
----  ----------
1     A, B, C
2     A, C
3     A, B
Run Code Online (Sandbox Code Playgroud)

用户可以选择对Attributes列进行排序,因此我们需要能够按如下方式对数据进行排序:

Item  Attributes
----  ----------
3     A, B
1     A, B, C
2     A, C
Run Code Online (Sandbox Code Playgroud)

目前,我们每ItemAttribute行获得一行数据.基本上:

  SELECT Item.itemId,
         Attribute.name
    FROM Item
    JOIN ItemAttribute
      ON ItemAttribute.itemId = Item.itemId
    JOIN Attribute
      ON Attribute.attributeId = ItemAttribute.attributeId
ORDER BY Item.itemId; …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle11gr2

5
推荐指数
1
解决办法
6184
查看次数

标签 统计

oracle ×1

oracle11gr2 ×1

sql ×1