gpt4 book ai didi

php - 使用 MySQL 在一个查询中连接三个表

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

我有表命名

**Subscription Table**
-------------------------------
id actors_id user_id
-------------------------------
1 5 1
2 7 2
3 12 96
4 18 54

**Actors Content**
-------------------------------
id contend_id actors_id
-------------------------------
1 25 5
2 65 18
3 120 18
4 98 12

**Content Table**
-------------------------------
r_id title content_post
-------------------------------
25 abvg xxxxxxxxx
65 djki fffffffff
98 sdrt rrrrrrrrr
120 fgty tttttttty

所以我需要首先从订阅表中获取 actors_id,因为我知道 user_id 值,之后需要从 Actors 内容表中获取 content_id,最后从内容表中获取 r_id 并在网站上显示。

我已经尝试过,但这绝对不是一个好的查询

SELECT Content.*, (SELECT Actors.contend_id FROM Actors WHERE Actors.contend_id = Content.r_id) as views FROM Content,Actors WHERE Actors.actors_id IN (SELECT Subscription.actors_id FROM Subscription WHERE Subscription.user_id = 96)

最佳答案

我想等效的连接查询看起来像

SELECT c.*, a.contend_id as views 
FROM Content c
JOIN Actors a ON a.contend_id = c.r_id
JOIN Subscription s ON a.actors_id = s.actors_id
WHERE s.user_id = 96

也不要使用旧的语法来连接你的表,使用带有 join 关键字的显式语法

关于php - 使用 MySQL 在一个查询中连接三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408805/

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