字段名称相同时,SQL加入 [英] SQL join when a field name is the same
本文介绍了字段名称相同时,SQL加入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在节点和url_alias中都有字段language。
当我进行转储时,第二个language变量将覆盖第一个。
如何识别这两个变量?
I have field "language" in both node and url_alias. When I do a dump, the second "language" variable overwrites the first one. How can I identify both variables?
$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);
推荐答案
在 SELECT
子句,而不是使用 *
,并给出任何重复的列名称别名。例如,
Specify the column names explicitly in your SELECT
clause rather than using *
, and give any duplicate column names an alias. E.g.,
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
这篇关于字段名称相同时,SQL加入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文