Php 在mysql中将两个查询合并为一个查询(一个查询的结果输入到另一个查询的表名)

Php 在mysql中将两个查询合并为一个查询(一个查询的结果输入到另一个查询的表名),php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我使用两个单独的查询来获取结果。我不需要两个单独的查询。 你能告诉我一个mysql查询吗 这里,第一个查询1的结果是第二个查询的表名 问题1 select `column-name1` from tablename where column-name2 ="xyz"; 问题2: select * from `column-name1` where id='$dynamic'; 提前谢谢。您不能使用联接来替换表名,只能替换值。@Jacky Cheng,如果我使用联接,第二次查询的表名将是什么作

我使用两个单独的查询来获取结果。我不需要两个单独的查询。 你能告诉我一个mysql查询吗

这里,第一个查询1的结果是第二个查询的表名

问题1

select `column-name1` from tablename where column-name2 ="xyz";
问题2:

select * from `column-name1` where id='$dynamic';

提前谢谢。

您不能使用联接来替换表名,只能替换值。@Jacky Cheng,如果我使用联接,第二次查询的表名将是什么作为输入。如果需要这样做,表设计可能有问题。您不应该将数据放在不同的表中,而应该将它们全部放在一个表中,并将需要匹配的值放在一列中。目前我正在这样做。。可以在一次查询中进行吗?不,不能。您可以完全在MySQL中完成,但您必须编写一个存储过程来构造一个准备好的查询,然后执行它。感谢您及时提供的帮助..:
$query1 = "SELECT column_name1 FROM tablename WHERE column_name2 = 'xyz'";
$result = $db->query($query1);
$row = $result->fetch_assoc($result);
$tablename = $row['column_name1'];
$query2 = "SELECT * FROM $tablename WHERE id = '$dynamic'";
$result = $db->query($query2);