如何在 MySql 查询中为 post 类似的 instagram 创建视图?
how can create view for like a post similar instagram in MySql query?
我的数据库中有 3 个 table:
table1:user_table:
用户名 |用户名 |用户密码
table2:posts_table:
post编号 | post标题 |用户名
table3:likeTable:
用户名 | post编号
现在,如何在 MySql 查询中为类似 post 的 Instagram 创建视图?
我希望我的输出 table 如下所示,显示所有 post,如果用户喜欢,则数字为 1,否则为 NULL 值
outputTableView:
postId | postTitle | likeCount | userLike(forUsers)
----------------------------------------
1 Title1 100 1 (value 1 for like)
2 Title2 200 NULL
3 Title3 150 1
这是一种选择:
select
p.post_id,
p.post_title,
count(l.post_id) likes_count,
nullif(max(l.user_id = ?), 0) user_likes
from posts_table p
left join like_table l on l.post_id = p.post_id
group by p.post_id
问号应替换为您要为其构建报告的用户的 ID。
我的数据库中有 3 个 table:
table1:user_table: 用户名 |用户名 |用户密码
table2:posts_table: post编号 | post标题 |用户名
table3:likeTable: 用户名 | post编号
现在,如何在 MySql 查询中为类似 post 的 Instagram 创建视图?
我希望我的输出 table 如下所示,显示所有 post,如果用户喜欢,则数字为 1,否则为 NULL 值
outputTableView:
postId | postTitle | likeCount | userLike(forUsers)
----------------------------------------
1 Title1 100 1 (value 1 for like)
2 Title2 200 NULL
3 Title3 150 1
这是一种选择:
select
p.post_id,
p.post_title,
count(l.post_id) likes_count,
nullif(max(l.user_id = ?), 0) user_likes
from posts_table p
left join like_table l on l.post_id = p.post_id
group by p.post_id
问号应替换为您要为其构建报告的用户的 ID。