小提琴:https://dbfiddle.uk/A9gQZtUg
我订了1号桌,
其中包含ID、Product和“UniqueProd# On ID”列
“UniqueProd# On ID”显示每个ID的唯一产品计数,计数时将忽略称为“其他”的产品。
但是我想要一个“ProductConcat”列,它将根据“UniqueProd# On ID列“Concat”Product”列的所有值,请参见表2示例:
我想知道是否有一种方法可以使连接的值总是以特定的顺序进行?例如,如果一个ID有苹果、橙子和香蕉,我总是希望将值串联起来,按香蕉、橙子、苹果的顺序排列。
1条答案
按热度按时间js4nwp541#
您可以使用
LISTAGG
函数,但如果不使用ORDER BY
子句,则连接乘积的顺序是 * 不确定的 *。所以你需要有一个列来标识你的产品的顺序。您可以创建一个表或使用CTE来让您的 * 特定订单 * 然后与您的表连接,如下所示:Demo