gpt4 book ai didi

php - 从mysql中的多个表中获取特定结果

转载 作者:行者123 更新时间:2023-11-29 00:25:00 24 4
gpt4 key购买 nike

这有点令人困惑,因此我将逐步解释我的目标,下面是我正在处理的表(第一表第二表和< strong>第三表)。首先,我需要验证 Second Table 中的 username 是否存在于 First Table 中,如果不存在,则删除没有的普通用户名

结果应该是这样的(George 被排除在外,因为它没有First Table 的通用用户名):

user_id | username
5423 | Bob
43 | Vicky

THEN 我想通过比较上面之前的结果和第三表来验证。我的目标是检查上面先前结果中的 user_id AND usernameThird Table 上是否有共同的行,如果有,则排除那个,并且只检索独特的。

5423 | 以来,总体结果应如下所示Bob 在第三张表上还不存在:

总体结果:

user_id | username
5423 | Bob

第一个表:

| username
| Bob
| Jessie
| Vicky

第二张表:

user_id | username
5423 | Bob
123 | Georgie
43 | Vicky

第三张表:

user_id | username
1 | Luke
54 | Stephenie
43 | Vicky

最佳答案

SELECT  b.*
FROM FirstTable a
INNER JOIN SecondTable b
ON a.username = b.username
LEFT JOIN ThirdTable c
ON b.user_ID = c.user_ID
WHERE c.user_ID IS NULL

第一个连接使用 INNER JOIN 这样只有符合条件的记录才会出现在结果列表中。第二个连接使用 LEFT JOIN,这样左侧表中的所有记录,无论是否有匹配的行,都会显示在结果列表中。任何不匹配的行在右侧 表的列上都将具有一个NULL 值。

由于您只想在最终结果中获取不匹配的记录,因此您需要有 WHERE 子句来过滤 右侧的 NULL 值边 table 。

关于php - 从mysql中的多个表中获取特定结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19352421/

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