首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置和选择查询组合在单个MySql查询中运行以传递宾得查询中的结果

问设置和选择查询组合在单个MySql查询中运行以传递宾得查询中的结果
EN

Stack Overflow用户
提问于 2018-10-22 07:44:21
回答 1查看 68关注 0票数 1

下面是3个查询,我希望在mysql中以单个查询的形式运行,我将把这个结果传递给宾得查询组件来绘制一些图表。

代码语言:javascript
复制
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.)

代码语言:javascript
复制
expected output 

xyz      count
---------------- 
22        4
33        4
96        6

参考- Mysql Query to Separate space delimited String Convert into 2 columns

  • 设置查询count=0,如果我可以合并此Set查询中的select查询,那也可以。
  • 选择query,使用count对输入字符串执行一些解析--只添加示例子字符串。(这里添加了解析逻辑)

我希望mysql链接中有相同的功能,如下所示,我尝试了这个解决方案,但我不确定set_config是否在mysql中工作。SET and SELECT within a single query?

的查询组件中运行存储过程的任何方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-22 10:08:53

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

代码语言:javascript
复制
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 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52924507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档