设置并选择query combine在单个mysql查询中运行,以将结果传递给pentaho

bbmckpt7  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(302)

下面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

reference-mysql查询将空格分隔的字符串转换为2列
set query count=0,如果我可以在select query中合并这个set查询,也可以。
select查询使用count对输入字符串进行一些解析—只添加了示例子字符串(这里添加了解析逻辑)
我想在mysql链接下面显示相同的功能,我尝试了这个解决方案,但我不确定是设置\ u配置工程在mysql。在单个查询中设置和选择?
或者在pentaho的查询组件中运行存储过程的任何方法。

ujv3wf0j

ujv3wf0j1#

可以将用户定义的会话变量的初始化移动到派生表中,然后 Cross Join 与您的其他table:

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

相关问题