SET和Select Query结合在单个MySql查询中运行以将结果传递给pentaho

时间:2018-10-22 07:44:22

标签: mysql pentaho

在以下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

  • 设置查询次数= 0,如果我可以将这个SET查询合并到还可以的选择查询中。
  • 选择查询,使用count对输入字符串进行一些解析-仅添加示例子字符串。 (在此处添加了解析逻辑)

我想要下面显示的mysql链接中的相同功能 我尝试了这种解决方案,但是我不确定set_config是否可以在mysql中使用。 SET and SELECT within a single query?

或在Pentaho的Query组件中运行存储过程的任何方法。

1 个答案:

答案 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