【发布时间】:2023-03-05 23:37:01
【问题描述】:
在 SQL Server 中,有一种用于跨两台服务器连接查询的语法,您可以在其中使用以下内容:
SELECT
SUM(StatsTotal) AS ChannelTotal
FROM [SERVER\DB4_1].DBNAME.dbo.Stats AS Stats
这意味着我可以连接到一台服务器,然后使用 SQL Server 的“链接服务器”功能要求查询在另一台服务器上执行。我的问题是在Zend_Db 中无法使用Zend_Db_Select 可以看到的这个功能。
目前我正在尝试使用以下代码:
$select = $this->db->select();
$select->from(array('Stats' => '[SERVER\DB4_1].DBNAME.dbo.Stats'), array('ChannelTotal' => new Zend_Db_Expr('SUM(StatsTotal)')));
echo $select->assemble();
这给了我以下 SQL 作为响应:
SELECT SUM(StatsTotal) AS "ChannelTotal" FROM "[SERVER\DB4_1]"."DBNAME" AS "Stats"
显然这行不通,那么有没有其他方法可以做到这一点而不必手写这些查询?
【问题讨论】:
-
您是否尝试过使用
'Stats' => new Zend_Db_Expr('[SERVER\DB4_1].DBNAME.dbo.Stats')? -
啊!太棒了,你能把这个问题作为一个问题让我奖励一些积分吗?
-
优秀 - 很高兴它现在可以工作了。
标签: php sql-server zend-framework