[英]php left join two mssql tables from two differents database
I need to query data from two tables in different databases on the same server, but it always shows me the same error message: 我需要从同一台服务器上不同数据库中的两个表中查询数据,但它总是向我显示相同的错误消息:
Warning: mssql_query(): message: Invalid object name 'db1.ARTICULO'.
警告:mssql_query():消息:无效的对象名称'db1.ARTICULO'。 (severity 16)
(严重性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);
?>
Any ideas? 有任何想法吗?
In MSSQL, you need to specify the target as [database].[schema].[object]
. 在MSSQL中,您需要将目标指定为
[database].[schema].[object]
。
Change this line... 更改此行...
$query .= "FROM db1.ARTICULO LEFT JOIN db2.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
...to this... ...对此...
$query .= "FROM db1.dbo.ARTICULO LEFT JOIN db2.dbo.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
Assuming this is all in the default [dbo]
schema. 假设所有这些都在默认的
[dbo]
模式中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.