在以下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 Query to Separate space delimited String Convert into 2 columns
我想要下面显示的mysql链接中的相同功能 我尝试了这种解决方案,但是我不确定set_config是否可以在mysql中使用。 SET and SELECT within a single query?
或在Pentaho的Query组件中运行存储过程的任何方法。
答案 0 :(得分:1)
您可以将用户定义的会话变量的初始化移动到“派生”表,并将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