php left join 来自两个不同数据库的两个 mysql 表

php left join two mssql tables from two differents database

我需要从同一台服务器上不同数据库的两个表中查询数据,但它总是显示相同的错误信息:

Warning: mssql_query(): message: Invalid object name 'db1.ARTICULO'. (severity 16)

<?php 
$server = 'servidor\SQLEXPRESS';
$link = mssql_connect($server, 'usuario', 'password');
if (!$link) {
    die('Algo fue mal mientras se conectaba a MSSQL');
}   
$bd_1 = "db1";
mssql_select_db($bd_1, $link);

$link2 = mssql_connect($server, 'usuario', 'password',true);
if (!$link2) {
    die('Algo fue mal mientras se conectaba a MSSQL');
}   
$bd_2 = "db2";
mssql_select_db($bd_1, $link2);
$query = "SELECT ARTICULO.CODIGO, ARTICULO.NOMBRE, PRECIOS.PRECIO " ;
$query .= "FROM db1.ARTICULO LEFT JOIN db2.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
$query .= "WHERE ARTICULO.CODIGO = '" . $_POST["codart"] . "'";
$result = mssql_query($query);
?>

有什么想法吗?

在 MSSQL 中,您需要将目标指定为 [database].[schema].[object]

更改此行...

$query .= "FROM db1.ARTICULO LEFT JOIN db2.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;

...为此...

$query .= "FROM db1.dbo.ARTICULO LEFT JOIN db2.dbo.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;

假设这一切都在默认的 [dbo] 架构中。