【发布时间】:2012-03-16 07:31:58
【问题描述】:
此查询运行,但它会生成一个表的名称作为结果,而不是实际从该表中进行选择。
SELECT T.*
FROM (SELECT tablename
FROM ListOfTables
WHERE id = 0) AS T
如果 ListOfTables 包含 id=0, tablename='some_table',我想返回相同的结果集,就像我直接写的一样:
SELECT * FROM some_table
在 MySQL 5 中是否有本地方法可以做到这一点,还是我必须在应用程序中做到这一点?
【问题讨论】:
-
SQL 中的表名不能是动态的——您需要使用动态 SQL,在您指定使用的数据库之前,没有人可以提供合理的示例。
-
原生方式做什么?目前尚不清楚您要达到的目标。
-
你期待什么结果?请显示表'ListOfTables'的结构和一些内容
标签: mysql sql dynamic-sql mysql5