在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"
显然这不起作用,有没有另外一种方法可以做到这一点,而不必手写这些查询?
答案 0 :(得分:0)
使用'Stats' => new Zend_Db_Expr('[SERVER\DB4_1].DBNAME.dbo.Stats')
应该有效。