我正在使用两个实体:Item和Attribute看起来如下所示:
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)