0

我确定有很多关于 SO 的示例,但我什至不知道要搜索什么,因为我在使用数据库方面非常有限,所以我想我会在这里发布并希望得到一些帮助。

我有两个表,用户和配置文件。一封电子邮件可以有多个配置文件,并且用户表中可以有多个配置文件。

我需要编写一个查询,从电子邮件匹配的 Profile 表中选择所有 profileID(例如“test@test.com”。这应该返回一堆配置文件(1、23、444、9203、034)但是我只想返回用户表中的配置文件ID(和用户名)。(例如,用户表中只有配置文件ID 444。

配置文件表示例:

个人资料ID | 主要电子邮件 | 姓名 | 其他 |

用户表:

个人资料ID | 用户名 | 密码 | 其他用户资料|

这可能非常简单,但是我需要花费相当多的时间来研究,而且我正处于时间紧迫的状态。

就像是(?):

    SELECT t1.profileID, t2.username 
    FROM Profiles as t1 INNER JOIN Users as t2 ON t1.profileID = t2.profileID 
    WHERE t1.primaryEmail="test@test.com"

我是一名前端开发人员,负责一项任务,其后端工作比我想象的要多。我已经过了几天的截止日期了。

4

3 回答 3

1

来自 mysql 文档站点的sql 文档应该可以帮助您形成您正在寻找的查询,但是对于一个有效的连接示例来说,它看起来像这样:

SELECT column1 FROM table1 tableAlias
INNER JOIN table2 table2Alias ON tableAlias.column = table2Alias.column
WHERE tableAlias.column = this AND table2Alias.column = that

注意:您可以使用不止一种连接类型,因此请花点时间阅读文档,并确定哪一种最适合解决您的问题。

于 2013-11-08T05:08:51.527 回答
1

您可以编写此查询。

SELECT Profile.ProfileID, User.username from Profile INNER JOIN User ON Profile.ProfileID = User.ProfileID WHERE Profile.primaryEmail = "test@test.com"

试试看。

谢谢。

于 2013-11-08T05:29:37.223 回答
0
SELECT ProfileID, Username
  FROM Profile
  JOIN Users USING (ProfileID)
 WHERE primaryEmail = "test@test.com"

它将显示两个表中存在的数据相同profileID

于 2013-11-08T06:06:39.473 回答