首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有不同列名的MySQL内部连接

具有不同列名的MySQL内部连接
EN

Stack Overflow用户
提问于 2014-10-27 18:59:51
回答 2查看 3.5K关注 0票数 1

好的,我有两个表,一个news表和一个users表。它们的设置如下:

新闻:

代码语言:javascript
运行
复制
id title user_id contents

用户:

代码语言:javascript
运行
复制
id username password

当我运行这个查询时:

代码语言:javascript
运行
复制
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中的列?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 19:13:31

在MySQL中,您在select语句中指定的是结果集中所调用的内容,因此您需要告诉它要给您什么。你用作为命令来做这个

代码语言:javascript
运行
复制
SELECT users.id AS user_id ... FROM ...

这样你就可以随便叫它了

或者从新闻中抓取user_id

代码语言:javascript
运行
复制
SELECT news.user_id ... FROM ...
票数 1
EN

Stack Overflow用户

发布于 2014-10-27 19:12:57

代码语言:javascript
运行
复制
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'];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26594863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档