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]
架构中。
我需要从同一台服务器上不同数据库的两个表中查询数据,但它总是显示相同的错误信息:
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]
架构中。