我需要JOIN
两个不同的数据库,我已经静态地完成了这两个数据库,仅用于测试目的。
- 第一个数据库已经在连接本身中定义。
- 第二个数据库必须从第一个数据库中的信息动态派生,该信息必须首先在用户定义的变量中定义。为简单起见,我将简单地将第二个数据库名称称为
example2
. - 静态定义第二个数据库名称有效,并且所有
JOIN
ed 数据都已成功提取,但是如果我在实时(或“生产”)服务器上执行此操作,我将不得不在与某些 PHP 的同一连接上运行两个单独的查询这两个查询之间的代码。 - 如果不运行第二个查询,我无法定义第二个数据库名称,关键是当我知道有一种方法可以在单个查询中进行时避免与 SQL 服务器建立多个连接(如果我们不计算设置用户-定义变量一个查询)。
这是对我有用的静态演示:
SELECT * FROM example1 AS e1
INNER JOIN example2.accounts AS e2a ON (e2a.id = e1.accounts_id);
但是以下方法不起作用:
SET @db = 'example2';
SELECT * FROM example1 AS e1
INNER JOIN @db.accounts AS e2a ON (e2a.id = e1.accounts_id);
如何设置和使用用户定义的变量来动态定义第二个数据库的名称并使用它来动态地JOIN
在两个数据库之间创建表?
- 所有数据均已正确存储/格式化/等。
- 我已经让用户定义的变量工作了,我需要帮助在数据库到数据库的 JOIN 上实现它。
- 这与 PHP 具有可变变量这一事实有关。