使用查询的结果,例如另一个table_name

时间:2017-09-20 07:12:36

标签: mysql

我可以将查询结果(查询1)用作其他查询的表名吗? 例。 查询1.

SELECT table_name
FROM information_schema.tables
WHERE table_type='BASE TABLE' AND 
table_schema='schemaName' AND table_name LIKE '%_assoc_device'

我想使用刚编写的每个查询(如表名)来构建新查询。

SELECT * FROM (Query 1 Result)

每个结果的查询。 使用这种自动方法,我想创建一个视图

1 个答案:

答案 0 :(得分:0)

我尝试使用这组命令,但必须将结果限制为1

SET @sql := CONCAT(
'SELECT * 
 FROM ', (SELECT table_name 
         FROM information_schema.tables 
         WHERE table_type='BASE TABLE' 
         AND table_schema='schemaName'
         AND table_name LIKE '%_assoc_device' LIMIT 1)
 );
 PREPARE s FROM @sql;
 EXECUTE s;
 DEALLOCATE PREPARE s;

我可以将这个概念扩展到子查询的所有结果吗?