mysql - 查询中的查询
如何才能做到以下几点: (我正在使用 mysql - phpmyadmin )
此查询返回一个表名:
Select table_name from Table1 where id = 1
我想在另一个查询中使用它,例如:
select val from (Select table_name from Table1 where id = 1)
但这肯定不起作用,并且由于 phpmyadmin 不支持调用存储过程,是否有任何可能的解决方案这 ?
How is it possible to do the following :
(i am using mysql - phpmyadmin )
this query returns a table name :
Select table_name from Table1 where id = 1
I want to use it inside another query , like :
select val from (Select table_name from Table1 where id = 1)
but this sure does not work, and since phpmyadmin does not support calling stored procedures, could there be any possible solution for this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您实际上无法通过单个
SQL
语句来完成此操作。您正在尝试使用
data
(字段值)作为metadata
(表名称),而SQL
不允许这样做。您可以将其分成两个语句或在存储过程中编写动态
SQL
。请注意,并非所有客户端层都支持从存储过程返回结果集。You cannot really do it in a single
SQL
statement.You are trying to use
data
(field value) asmetadata
(table name), andSQL
does not allow this.You could break it in two statements or write dynamic
SQL
in a stored procedure. Note that not all client layers support returning resultsets from stored procedures.您还可以执行动态选择:
you also ma execute dynamic select: