尝试从 MySql 中的不同表中选择列时出错

Posted

技术标签:

【中文标题】尝试从 MySql 中的不同表中选择列时出错【英文标题】:Error trying to Select columns from different tables in MySql 【发布时间】:2018-07-20 20:06:21 【问题描述】:

我不知道在尝试设置时是使用 JOIN 还是 UNION,但是当我找到这个答案时:mysql Select all columns from one table and some from another table 我认为这可能有效。原来我仍然得到一个错误。我的设置有什么问题吗?

$sql = "SELECT user_images.*, users.profile";

基本上我在一个表中有用户图像(user_images),我还想在users 表中显示一些用户信息,例如个人资料列。

【问题讨论】:

【参考方案1】:

如果您遇到错误,请将其包含在您的问题中。这是相关信息,你知道我们会问它是什么。 但这是您想要做什么的示例查询。

SELECT user_images.*, users.profile FROM user_images JOIN users ON user_images.id = users.id;

联接需要一个链接列才能正常工作,这对于两个表中的两行都是相同的。我以id 为例,但它可能不适合您的具体情况。

【讨论】:

谢谢,我可以只创建一个虚拟表而不是覆盖当前表吗? 覆盖当前表是什么意思?你只是用一个 JOIN 做一个简单的 SELECT。 对不起,我以为这是 JOIN 所做的。 JOIN 到底是做什么的?它会创建一个列然后插入另一个表中的值吗? 不,JOIN 只是链接查询中的两个表,允许您同时从两个表中提取数据。它根本不更改任何一个表,不创建临时表等。这是一个很好的概述,可以帮助您入门:w3schools.com/sql/sql_join.asp 哇,非常感谢!我终于明白了!因此,您只需从表格中选择您想要的内容,然后加入即可。而ON 部分,基本上是匹配列。

以上是关于尝试从 MySql 中的不同表中选择列时出错的主要内容,如果未能解决你的问题,请参考以下文章

在oracle中选择第n列时出错[重复]

尝试在 Oracle SQL 中取消透视列时出错

使用两个索引列时缓慢的 mySQL 查询

为啥在尝试访问 HTML 表中的前两列时会出现错误?

如何使用列号从 MySQL 中的表中删除列

将查询结果插入 mysql 中的列时,无法从发送到 GEOMETRY 字段的数据中获取几何对象