我想让查询根据另一个表中特定行中的值动态选择要查找的表。
我有这个查询:
SELECT d.name
FROM `database1`.domains AS d
WHERE (SELECT COUNT(u.id) FROM <<d.db_name>>.users u) > 0
我想使用 d.db_name 的值作为数据库名称。 示例:d.db_name = 数据库2
我想要这个:
SELECT d.name
FROM `database1`.domains AS d
WHERE (SELECT COUNT(u.id) FROM `database2`.users u) > 0
最佳答案
您可以为此使用变量:
SET @table_name = "some_table";
SELECT * FROM @table_name;
如果您想根据选择的结果更改变量值,您可以像这样使用 IF:
IF(some_column>50, @table_name := "value for true", @table_name := "value for false");
关于mysql - 动态选择哪个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981613/