gpt4 book ai didi

mysql - 加入表中两个不同字段的选择数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:10 24 4
gpt4 key购买 nike

我有两个表:

  • friends 表(UserIDFriendID)和

  • 用户 表( UserIDFirstNameLastName )。

我正在尝试执行一个 SQL 查询来加入并提取所有具有 UserID 的记录或 FriendID在 friends 表中等于用户的 ID 但拉出 FirstNameLastName来自另一个UserID .

例如

friend 表

UserID = 1 | FriendID = 2
UserID = 3 | FriendID = 1

用户表

UserID = 1 | FirstName = "Bob"  | LastName = "Hope"

UserID = 2 | FirstName = "John" | LastName = "Doe"

UserID = 3 | FirstName = "Bill" | LastName = "Murray"

如果我以 Bob( UserID = 1) 身份登录,试图通过检查 FirstName 是否在一次查询中提取我所有 friend 的用户数据(LastNameUserID) 1 是 FriendIDUserID在 friend 表里面。然后加入不是我 ID 的相反字段的数据。

有什么想法吗?

最佳答案

试试这个:

SELECT *
FROM users u
WHERE userid IN ( SELECT userid FROM friends WHERE friendid = 1
UNION ALL
SELECT friendid FROM firends WHERE userid = 1);

这会给你:

| USERID | FIRSTNAME | LASTNAME |
---------------------------------
| 2 | John | Doe |
| 3 | Bill | Murray |

SQL Fiddle Demo

关于mysql - 加入表中两个不同字段的选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423099/

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