Хорошо, поэтому у меня есть две таблицы, таблица news
и таблица users
. Они устанавливаются, как показано ниже:MySQL INNER JOIN с разными именами столбцов
новости:
id title user_id contents
пользователей:
id username password
Когда я запускаю этот запрос:
SELECT news.title, users.username, news.contents FROM news INNER JOIN users ON news.user_id=users.id WHERE news.id=:id
я могу получить доступ только идентификатор пользователя, используя $query['id']
. Таким образом, похоже, что соединение использует имена столбцов из таблицы2, хотя я хочу, чтобы они сопоставляли его с именами столбцов таблицы1. Поэтому, даже если столбец называется id
в таблице users, я хочу получить к нему доступ в пределах user_id
, так как я указал, что в запросе JOIN
.
мне это нужно, потому что если я когда-нибудь понадобится id
от table1, они оба будут отображаться в колонке под названием id
, и я бы только быть в состоянии получить id
таблицы пользователей.
Итак, есть ли способ сделать это? Доступ к столбцу из таблицы2 под именем столбца в таблице1?
'ВЫБРАТЬ table2.whatever AS name_you_want'? –
@Marc B Итак, это означало бы, что я должен использовать это, правильно: 'SELECT news.title, users.id AS user_id, users.username, news.contents FROM news INNER JOIN users ON news.user_id = users.id WHERE news.id =: id' – Qub1