好的,所以我有两个表,一个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
我可以只使用访问用户ID $query['id']
。所以看起来join是使用table2中的列名,尽管我希望它们将它映射到table1的列名。所以即使列表在用户表中被称为id
,我想在user_id
下访问它,因为我在JOIN
查询中指定了该列。
我需要这个,因为如果我需要从table1的id
,他们都将被映射到名为id
的列,我只能够获得users表的id
。
那么有没有办法做到这一点?访问table1中列的名称下的列?
的USER_ID这样,你可以把它叫做'选择table2.whatever AS name_you_want'? – 2014-10-27 19:02:30
@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 2014-10-27 19:04:41