SQL Join извлекает строку с тем же именем - PullRequest
0 голосов
/ 19 января 2012

У меня есть 2 таблицы, объединение, SELECT *.Обе таблицы содержат поле id, но мне нужно явно получить к нему доступ таким образом:

$query = "SELECT * FROM  #__docman as d JOIN #__users u ON d.dmmantainedby = u.id WHERE d.catid = 5 ORDER BY d.id ASC";
$db->setQuery($query);
$rows = $db->loadObjectList();

foreach($rows as $row) {
    echo $row->id ; 
}

Я пытался

echo $row->d.id;

Это не сработало .. Я знаю, яможет технически изменить мой SELECT для вызова идентификаторов и использования псевдонимов, но есть много полей, которые я выбираю, поэтому *.Есть ли другой способ?

Ответы [ 2 ]

2 голосов
/ 19 января 2012

Вам придется использовать псевдонимы, запрос останется коротким, если вы дублируете данные:

"SELECT *, d.id as did, u.id as uid FROM  #__docman as d JOIN #__users u ON d.dmmantainedby = u.id WHERE d.catid = 5 ORDER BY d.id ASC"

А затем:

$row->did
$row->uid
0 голосов
/ 19 января 2012

SELECT *, d.id AS id_alias FROM ...? Это выберет повторяющиеся столбцы, но все равно будет довольно коротким запросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...