2012-09-10 78 views
2

基本上我需要使用Zend_Db_Select爲此查詢:具有相同名稱的選擇colums後加入

SELECT *, `matches`.`name` AS superName, `dimension`.`name` AS someName 
FROM `matches` 
JOIN `dimension` ON [whatever condition] 
-- etc, etc. 

做好加入剩下的就是容易最終將是這樣的:

$select = Globals::db()->select(); 
$select -> from("matches") 
     -> join("dimension", "`matches`.`idDimension` = `dimension`.`idDimension`") 
     -> join("accounts", "`accounts`.idAccount = `matches`.idOwner");   
    // -> etc, etc 

return Globals::db()->fetchAll($select); 

的問題是列name出現在超過1個表中,因此name本身是不明確的,因此作爲響應是null。我如何解決這個問題?

我已經試過:

$select = Globals::db()->select(); 
$select -> from("matches", "*, `matches`.`name`") 

$select = Globals::db()->select(); 
$select -> from("matches", "*", "`matches`.`name`") 

但都返回錯誤(列*沒有發現和語法錯誤)。

回答

1

嘗試

$select -> from("matches", array("*", "name as superName")) 
+0

這是做到了。 TY。 – zozo

0

我認爲你需要指定相關名(化名)matches.*

+0

試過...不工作。我可以隨時切換到正常查詢,但會跛腳。 – zozo

相關問題