[英]MYSQL - How to return array from first table and select from another table using that array in one query?
I have 2 tables: 我有2张桌子:
1) game_follower (stores which user is following which game): 1)game_follower(存储哪个用户正在关注哪个游戏):
___________________________
| ID | game_id | user_id |
| 1 | 1 | 1 |
| 2 | 2 | 1 |
2) videos: 2)视频:
__________________________________
| ID | game_id | content | data |
| 1 | 2 | blah | blah |
| 2 | 1 | blah | blah |
I'm trying to implement a twitter-style following system, but I'm having trouble writing a query that does the following: 我正在尝试实现Twitter风格的跟踪系统,但是在编写执行以下操作的查询时遇到了麻烦:
I can do it with separate queries but I've been told that using multiple queries is bad for performance, so how do I do this in with one query? 我可以使用单独的查询来执行此操作,但是有人告诉我使用多个查询会降低性能,那么如何使用一个查询执行此操作?
try this 尝试这个
SELECT v.game_id
FROM videos v
INNER JOIN game_follower gf ON gf.game_id = v.game_id
WHERE gf.user_id = 1
您应该查看JOIN以便通过一个查询来执行此操作(与分别获取数据相比,这大大提高了速度)。
$conn = new PDO(CONNECTION_DETAILS, $username, $pass);
$variable = 1;
$sql = "SELECT game_follower.game_id FROM game_follower ";
$sql .= "INNER JOIN videos ";
$sql .= "ON game_follower.game_id = videos.game_id ";
$sql .= "WHERE game_follower.user_id = :id";
$query = $conn->prepare($sql);
$query->bindParam(':id', $variable, PDO::PARAM_INT);
$query->execute();
Something like that? 这样的东西?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.