2010-11-25 94 views
1

我在node和url_alias中都有字段「language」。 當我做轉儲時,第二個「語言」變量覆蓋第一個。 如何識別兩個變量?字段名稱相同時SQL連接

$string = "SELECT * FROM {node} as node " . 
      " LEFT JOIN {url_alias} as url " . 
      " ON url.src = CONCAT('node/', node.nid) " .     
      " ORDER BY node.type , node.nid " ; 

$result= db_query($string); 
while ($row = db_fetch_object($result)){ 
echo $row->language; 
var_dump($row); 

回答

6

SELECT條款明確指定的列名,而不是使用*,並給出任何重複的列名的別名。例如,

SELECT node.nid, 
    node.language as NodeLanguage, 
    url.language as UrlLanguage 
FROM {node} as node 
LEFT JOIN {url_alias} as url 
ON url.src = CONCAT('node/', node.nid)     
ORDER BY node.type , node.nid 
+0

謝謝......我打算這樣做,但它會變得非常冗長。有沒有辦法說「所有領域」+「重命名這些」。或者使用這種語法的前綴與文件名稱的方式?我在其他應用程序中看到了諸如$ row-> file->字段的內容。 – newt 2010-11-25 20:51:02

相關問題