SQL-соединение, когда имя поля совпадает - PullRequest
1 голос
/ 25 ноября 2010

У меня есть поле "язык" в узле и url_alias. Когда я делаю дамп, вторая «языковая» переменная перезаписывает первую. Как я могу определить обе переменные?

$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);

1 Ответ

6 голосов
/ 25 ноября 2010

Укажите имена столбцов в явном виде в предложении 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...