好的,我有两个表,一个news表和一个users表。它们的设置如下:
新闻:
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']访问用户id。因此,连接似乎使用了来自table2的列名,尽管我希望它们将其映射到table1的列名。因此,即使该列在users表中被称为id,但我希望在user_id下访问它,因为我在JOIN查询中指定了该列。
我需要这样做,因为如果我需要来自table1的table1,它们都将被映射到名为id的列,而且我只能获得users表的id。
有什么办法可以做到吗?在table2中的列名下访问table1中的列?
发布于 2014-10-27 19:13:31
在MySQL中,您在select语句中指定的是结果集中所调用的内容,因此您需要告诉它要给您什么。你用作为命令来做这个
SELECT users.id AS user_id ... FROM ...这样你就可以随便叫它了
或者从新闻中抓取user_id
SELECT news.user_id ... FROM ...发布于 2014-10-27 19:12:57
SELECT users.id AS id1, news.id AS id2, news.title, users.username, news.contents
FROM news INNER JOIN users ON news.user_id=users.id WHERE news.id=:id
echo $query['id1'] . $query['id2'];https://stackoverflow.com/questions/26594863
复制相似问题