gpt4 book ai didi

mysql - 迷失 MySQL

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

我有一个包含各种用户的网站,每个用户都有包含他们的帖子的表格。

我想创建一种方法,让个人用户可以从他们的 friend 的表格中提取帖子。

所以基本上:

User A: Post="Hello World!"
User B: Post="Another Post!"

User C: Post="Third!"

用户 D 是 A 和 B 的 friend ,因此当他登录时,这就是我想要显示的内容:

Posts: 
From USER A "Hello World!"
From USER B "Another Post!"

我希望有一种方法来制作一个可以向用户 A 和用户 B 查找数据的表格,因此在代码中我要说的就是

SELECT * FROM MyFriendsPosts ORDERBY date_created;

它会显示我的 friend 的帖子

我对 MySQL 还很陌生,所以我确信我缺少一些东西

提前谢谢

最佳答案

正如 rookieB 上面所述,最好显示您的数据库架构。

帖子表:

用户 ID |发布

友谊表

用户 ID |好友ID

每次用户与另一个用户成为 friend 时,您都会在“友谊”表中创建一个新行,因此:

  A      |       B

显示A与B是 friend

或者

  D      |       A
D | B

在您的示例中,表明 D 是 A 和 B 的 friend

然后您可以使用子查询

SELECT * FROM posts WHERE posts.userId IN (SELECT FriendId FROM friendships WHERE UserId='THE_USER_SEARCHING' GROUP BY UserId)

或者(我还没有测试过其中任何一个......凭内存工作)

SELECT * FROM users LEFT JOIN friendships ON friendships.userid=posts.userId WHERE users.userId=friendships.friendId 

根据您的数据库索引和行数等,这些将对性能产生不同的影响,我建议进行测试。

关于mysql - 迷失 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042632/

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