首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mariadb :在使用UNION时循环

Mariadb :在使用UNION时循环
EN

Stack Overflow用户
提问于 2020-04-29 01:14:34
回答 1查看 241关注 0票数 0

我想在mariadb中使用变量、union语句和循环来构建查询。

下面有一个名为stock_items的表,列在下面

代码语言:javascript
复制
stock_list
===========================================
123123:A, 111111:B, 101010:C, 525252:D, ...

我用了“union”这句话

代码语言:javascript
复制
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX (stock_items.stock_list,',',numbers.n),',',-1),':',1) stock_list FROM
(SELECT 1 n UNION ALL SELECT 2
UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6
UNION ALL SELECT 7 UNION ALL SELECT 8
UNION ALL SELECT 9 UNION ALL SELECT 10
) numbers 
INNER JOIN stock_items ON CHAR_LENGTH (stock_items.stock_list) - CHAR_LENGTH (REPLACE(stock_items.stock_list, ',', '')) >= numbers.n-1 WHERE theme_idx = 14 ;

像下面这样看

代码语言:javascript
复制
stock_list
==========
123123
==========
111111
==========
101010
==========  ....

我的问题在第一篇的stock_list专栏中。可能有随机数量的股票。(目前,正如您在我的查询中看到的那样,它有10个,但可以多于/小于10个)

因此,我希望使用用户定义的变量构建sql或过程,同时,使用union-all语句。

干杯

EN

回答 1

Stack Overflow用户

发布于 2020-05-13 04:34:57

在MariaDB中,

代码语言:javascript
复制
(SELECT 1 n UNION ALL SELECT 2
UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6
UNION ALL SELECT 7 UNION ALL SELECT 8
UNION ALL SELECT 9 UNION ALL SELECT 10
) numbers 

能写

代码语言:javascript
复制
seq_1_to_10

它既简单又快得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61492610

复制
相关文章

相似问题

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