需要帮助 MySQL 查询。需要两个表的数据
Posted
技术标签:
【中文标题】需要帮助 MySQL 查询。需要两个表的数据【英文标题】:Need help MySQL query. Need data from two tables 【发布时间】:2016-09-13 04:24:59 【问题描述】:我是 mysql 的初学者。
表 1:用户
ID NAME
----------
1 XYZ
2 ABC
表 2:任务
ID TASK_NAME ASSIGNED_BY ASSIGNED_TO
--------------------------------------------
1 task 1 1 2
2 task 2 2 1
我想要这个结果。
ID TASK_NAME ASSIGNED_BY ASSIGNED_TO
--------------------------------------------
1 task 1 XYZ ABC
2 task 2 ABC XYZ
【问题讨论】:
如果您是 MySQL 初学者,请访问此链接 tutorialspoint.com/mysql/mysql-using-joins.htm 它将对您有更多帮助 然后,一旦您尝试了一些代码并且无法弄清楚,请回来寻求帮助并编辑您的问题。 对我来说非常像家庭作业。让我们知道您已经尝试过什么以及遇到了什么困难。 【参考方案1】:这是一个简单的JOIN
任务:
SELECT t.ID, t.TASK_NAME,
u1.NAME AS ASSIGNED_BY,
u2.NAME AS ASSIGNED_TO
FROM Task AS t
JOIN Users AS u1 ON t.ASSIGNED_BY = u1.ID
JOIN Users AS u2 ON t.ASSIGNED_TO = u2.ID
【讨论】:
如何在上面的查询中添加 where 条件? @aasimbairagdar 您可以将其添加到查询的底部。 @aasimbairagdar 很高兴我能提供帮助。如果它帮助您解决问题,请将此或任何其他答案标记为已接受。【参考方案2】:您需要使用JOIN
来执行此操作。我使用INNER JOIN
请尝试以下查询。
SELECT t.ID, t.TASK_NAME,
u1.NAME AS ASSIGNED_BY,
u2.NAME AS ASSIGNED_TO
FROM Task AS t
INNER JOIN Users AS u1 ON t.ASSIGNED_BY = u1.ID
INNER JOIN Users AS u2 ON t.ASSIGNED_TO = u2.ID
【讨论】:
以上是关于需要帮助 MySQL 查询。需要两个表的数据的主要内容,如果未能解决你的问题,请参考以下文章