首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从上一个查询结果开始的查询- MySQL

从上一个查询结果开始的查询- MySQL
EN

Stack Overflow用户
提问于 2019-04-10 17:51:43
回答 1查看 43关注 0票数 0

我在使用MySQL模式和表时遇到了一个问题。更准确地说,我想运行一个查询,它首先在预先选择的模式中查找某些表,然后将所有获取的表连接到一个大表中(使用UNION)。

以下是我到目前为止所做的工作:

代码语言:javascript
运行
复制
SET @union_jan_tables = NULL;
SELECT
GROUP_CONCAT(
DISTINCT
CONCAT('SELECT * FROM ', table_name)
SEPARATOR '\r\nUNION\r\n'
)
INTO
@union_jan_tables
FROM
information_schema.tables
WHERE
table_schema = 'my_schema' AND table_name LIKE '%jan%';

SELECT @union_jan_tables;

它返回以下内容:

代码语言:javascript
运行
复制
'SELECT * FROM jan_2018

 UNION

 SELECT * FROM jan_2019'

遗憾的是,它返回的行值正是我想要运行的查询。因此,我如何才能告诉MySQL工作台运行这个“行”呢?

此外,您可以尝试提供另一种不同的解决方案!它被高度接受。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 18:20:13

我猜您正在尝试执行一个动态sql,您可以这样做:

代码语言:javascript
运行
复制
PREPARE stmt1 FROM @union_jan_tables;

EXECUTE stmt1;

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

https://stackoverflow.com/questions/55609623

复制
相关文章

相似问题

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