我首先认为,像我一样实现它是一个好主意,但现在我认为我对这个方案的设计非常糟糕。
我有User_Preference
模式,如下所示
user INT FOREIGN KEY
post_comment BOOLEAN
post_like BOOLEAN
comment_like BOOLEAN
comment_comment BOOLEAN
然后我还有User_follow
表格,如下图所示
recently_viewed TIMESTAMP
user INT FOREIGN KEY
type VARCHAR(2) -- either pc (post comment) || pl (post like) || cl (comment like) || cc (comment comment)
post INT FOREING KEY
comment INT FOREING KEY -- I have constraint that requires either post or comment
我本来想做的是通过User_Preference
并将User_follow
与post
或comment
表一起加入,以便获得一系列的事件在recently_viewed
表的User_Follow
之前发生。但是,现在考虑一下,由于我缺乏SQL知识,因此我只能多次查询才能实现这一目标。
例如,对于每个User_preference
布尔值,我在nodeJS
中循环以创建另一个查询。对于每一个,我都会查询User_Follow
的四种类型(pc,pl,cl,cc)中的每一种,以加入帖子或评论。但可以肯定的是,我认为必须对此有一个查询解决方案。
我希望将分组分为四个类别(pc,pl,cl,cc),是否有更好的方法来实现这一目标?