我可以将查询结果(查询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)
每个结果的查询。 使用这种自动方法,我想创建一个视图
答案 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;
我可以将这个概念扩展到子查询的所有结果吗?