在 3 个查询下,我想在 mysql 中作为单个查询运行,我将把这个结果传递给 Pentaho 查询组件以绘制一些图形。
SET @input = select "22:4,33:4" from dual;
SET @count := 0;
select SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) as xyz, som_cnt as count from abc;
示例字符串的长度未知 (22:4,33:4,96:6....(
expected output
xyz count
----------------
22 4
33 4
96 6
参考 - Mysql 查询以分隔空格分隔字符串转换为 2 列
- 设置查询计数= 0,如果我可以在选择查询中合并此SET查询也可以。
- 选择使用 count 对输入字符串进行一些解析的查询 - 仅添加示例子字符串。(解析逻辑添加在此处(
我想要在如下所示的mysql链接中具有相同的功能 我尝试了这个解决方案,但我不确定set_config是否适用于 MySQL。 在单个查询中设置和选择?
或在 Pentaho 的查询组件中运行存储过程的任何方法。
您可以将用户定义的会话变量的初始化移动到派生表,并与其他表Cross Join
:
SELECT SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) AS xyz,
som_cnt AS `count`
FROM abc
CROSS JOIN (SELECT @count := 0,
@input := '22:4,33:4'
) AS user_init_vars