我正在寻找使用“|”连接两个或多个行值的方法分隔器。我找到并使用了
GROUP_CONCAT()
函数,但使用 "DISTINCT"
子句对我来说不起作用。
这是工作和非工作查询的示例:
工作(但使用不同的分隔符,逗号(','))-
GROUP_CONCAT(DISTINCT ROS.route_of_manufacturing) AS“合成路线”
不起作用-
GROUP_CONCAT('|', DISTINCT ROS.route_of_manufacturing) AS“合成路线”
第二个查询有什么问题?还有其他方法可以完成所需的操作吗?
据我了解,您询问的是有关在 Denodo 中将 DISTINCT 子句与 GROUP_CONCAT 函数一起使用的问题。 Denodo 社区中的链接帖子位于此处,解决了您的问题。
将 DISTINCT 子句与 GROUP_CONCAT 函数结合使用的唯一方法是指定一个参数
GROUP_CONCAT( [ DISTINCT | ALL ] <field name:identifier>)
此外,可以使用子查询来实现所需的结果:
select c1, GROUP_CONCAT('|', c1)
from (select distinct c1, c2 from <your_view>)
group by c2;
不幸的是,没有其他可用的替代方案。
希望这有帮助。