我有四个桌子
post
-------------
post_id
cat_id
posts
post_category
-------------
cat_id
cat_name
users
-------------
user_id
user_name
user_category_map
-------------
user_id
cat_id
我希望所有帖子类别中的所有用户都添加所有帖子
我已经写了这个查询
SELECT posts
FROM post p, users u, user_category_map ucm
WHERE p.cat_id = ucm.cat_id
AND ucm.user_id = u.user_id
但我不断重复发帖。我的表结构正确且规范化了吗?我无法正确掌握逻辑。我输入的连接正确吗?
最佳答案
设计看起来不正确。您应该有一个user_post的参考表,而不是user_category的参考表。在当前情况下,如果同一用户添加同一类别的多个帖子,您最终将在user_category_map中重复行