mysql-查询内的查询 [英] mysql - query inside a query
问题描述
如何执行以下操作: (我正在使用mysql-phpmyadmin)
How is it possible to do the following : (i am using mysql - phpmyadmin )
此查询返回一个表名:
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)
但是这种确定是行不通的,并且由于phpmyadmin不支持调用存储过程,因此有什么可能的解决方案?
but this sure does not work, and since phpmyadmin does not support calling stored procedures, could there be any possible solution for this ?
推荐答案
您不能在单个SQL
语句中真正做到这一点.
You cannot really do it in a single SQL
statement.
您试图将data
(字段值)用作metadata
(表名),而SQL
不允许这样做.
You are trying to use data
(field value) as metadata
(table name), and SQL
does not allow this.
您可以将其分为两个语句,也可以在存储过程中写入动态SQL
.请注意,并非所有的客户端层都支持从存储过程返回结果集.
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.
这篇关于mysql-查询内的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!