【发布时间】:2013-10-31 20:09:31
【问题描述】:
我有两个数据库,一个有一个名为 v_esd 的表,另一个名为 channel_did
在v_esd 中有一个名为number 的列,在channel_did 中有一个名为did 的列
我想搜索channel_did 表并将did 列值与v_esd 表中的number 列匹配。如果没有匹配,则显示结果。
我有 2 个不同的连接字符串,因为它们是 2 个完全独立的数据库
【问题讨论】:
我有两个数据库,一个有一个名为 v_esd 的表,另一个名为 channel_did
在v_esd 中有一个名为number 的列,在channel_did 中有一个名为did 的列
我想搜索channel_did 表并将did 列值与v_esd 表中的number 列匹配。如果没有匹配,则显示结果。
我有 2 个不同的连接字符串,因为它们是 2 个完全独立的数据库
【问题讨论】:
试试这个:
SELECT * FROM `database1`.`v_esd` JOIN `database2`.`channel_did` ON `database1`.`v_esd`.`number` = `database2`.`channel_did`.`did`
这应该可行,也许您可以通过在查询中使用“AS”来缩短此语句
【讨论】:
SELECT * FROM db1.channel_did.did WHERE did NOT IN(SELECT number FROM db2.v_esd )
只需删除 select db 语句,如果它们在同一台服务器上,您的连接将能够访问该服务器上的任何数据库。 不,如果它们位于不同的服务器上,则不可能在一个查询中执行此操作。
$rs = mysql_query($query1);
while($row1 = mysql_fetch_assoc($rs)) {
if($i<$numrows){
$data1[$i] = $row1;
}
}
$rs2 = mysql_query($query2);
while($row2 = mysql_fetch_assoc($rs2)) {
if($i<$numrows){
$data2[$i] = $row2;
}
}
$uniquevalues = array_merge(array_diff($row1, $row2), array_diff($row2, $row1))
类似的东西
【讨论】: