gpt4 book ai didi

mysql - 如何合并两个表以获取MySQL中不同表的结果

转载 作者:行者123 更新时间:2023-11-29 07:54:01 27 4
gpt4 key购买 nike

我有三张 table

enter image description here

我是用户 ID:1231。我正在尝试获取授予我访问权限的人员的结果。我的意思是他们的名字标记。

因此,根据上表,我应该得到的结果为:

enter image description here

为了获取上述结果,我尝试了一些查询。其中之一如下:

 SELECT a.UserID, a.Mark1, a.Mark2, b.Name FROM details a, profile b WHERE a.UserID IN (SELECT UserID FROM Access WHERE GrantStatus = 'granted' and GrantUserID = '1231');

执行上述查询得到以下结果:

enter image description here

有人可以帮我解决这个问题吗?

最佳答案

您需要一个加入条件:

SELECT d.userID, d.mark1, d.mark2, p.name
FROM details d JOIN
profile p
ON d.userID = p.userId
WHERE d.userID IN (SELECT userID
FROM access
WHERE grantstatus = 'granted' and grantuserID = '1231'
);

简单规则:切勿在 from 子句中使用逗号。

您只能通过 join 来执行此操作:

SELECT d.userID, d.mark1, d.mark2, p.name
FROM details d JOIN
profile p
ON d.userID = p.userId JOIN
access a
on a.userId = d.userId
WHERE a.grantstatus = 'granted' and a.grantuserID = '1231';

关于mysql - 如何合并两个表以获取MySQL中不同表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627414/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com