【发布时间】:2015-02-08 13:00:13
【问题描述】:
我需要一个带有 JOIN 的 SELECT,但目前不知道如何执行此操作。我已经阅读了一些教程,但对我的问题没有帮助。
我在 2 个数据库中有 2 个表:
DATABASE A
-> CONTENT
--> | PARTNERID | PAYSITE |
--> | 1 | siteA.com |
--> | 2 | siteA.com |
--> | 3 | siteA.com |
--> | 3 | siteB.com |
DATABASE B
-> WMIDPP
--> | WMID | PARTNERID | PARTNERURL | PAYSITE | ACTIVE
--> | 1 | 1 | AFFLINK 1 | siteA.com | 1
--> | 1 | 2 | AFFLINK 2 | siteA.com | 1
--> | 2 | 1 | AFFLINK 1 | siteA.com | 1
以上表格包含更多字段,但我需要使用这些字段。
如果我进入网站,我已经知道变量 $WMID 和 $PAYSITE。当我进入网站时,它应该只显示以下数据:
表 CONTENT 的完整数据和表 WMIDPP 中的字段 PARTNERURL 时
CONTENT.PARTNERID = WMIDPP.PARTNERID
and
WMIDPP.WMID = $WMID
and
WMIDPP.PAYISTE = $PAYSITE
but only if
WMIDPP.ACTIVE = 1
谁能帮我解决我的问题?
提前致谢
托尔斯滕
编辑:
这里有更多关于数据库和表的信息:
表 CONTENT 位于 DATABASE A 中,表 WMIDPP 位于 DATABASE B 中。
我像这样访问这些数据库:
$DB_HOST = "localhost";
$DB_NAME1 = "database1";
$DB_NAME2 = "database2";
$DB_USER = "username";
$DB_PASS = "password";
$OPTION = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
try {
$dbAS = new PDO("mysql:host=" . $DB_HOST . ";dbname=" . $DB_NAME1, $DB_USER, $DB_PASS, $OPTION);
$dbEC = new PDO("mysql:host=" . $DB_HOST . ";dbname=" . $DB_NAME2, $DB_USER, $DB_PASS, $OPTION);
}
catch (PDOException $e) { exit("Verbindung fehlgeschlagen! " . $e->getMessage()); }
用户有权访问这两个数据库。
我有 2 个不同的数据库,因为有 2 个不同的项目。如果它不适用于这些配置,我可以将表从 DATABASE B 移动到 DATABASE A - 但这应该只是最坏的情况选项。我更喜欢将表的数据合并到 2 个不同数据库中的解决方案。
【问题讨论】:
-
你知道“数据库”和“表”的区别吗?
-
是的 - 你为什么问?
-
删除了我输入的“测试查询”。那是应该允许你做任何事情的代码。它只是一个普通的“两表”连接,但指定了从哪些数据库中获取表。