我正在构建典型的帖子和标签应用程序,其中一个帖子可以有多个标签。我坚持设置数据库模式。我到目前为止:
帖子:
POST_ID PRIMARY KEY
POST_TITLE
POST_BODY
POST_DATE
POST_USERID
标签:
TAG_ID PRIMARY KEY
TAG_TAGNAME
PT:
PT_ID
PT_POSTID
PT_TAGID
当用户提交帖子时,我将表单数据插入到帖子表中。下一步我遍历用户提供的标记名,看看它们是否在 TAG_TAGNAME 字段中。如果匹配,则获取 ID 并将其插入 PT 表中。ELSE 将名字插入到tag表中并抓取ID插入到PT表中。两者都与POST表插入中生成的postid一起。
最后,我有一个名为 PTVIEW 的视图,其架构如下:
SELECT *
FROM dbo.PT
在
PT_PostID = dbo.Post.POST_ID 上
加入标签
在 PT_TagID = tag.TAG_ID 上加入标签
这是 select * from PTVIEW 的示例结果
问题是我无法查看独特的帖子及其标签。
我正在使用 MSSQL,所以我没有在 mySQL 中内置 Group_concat 函数。
我无法构建将显示每篇文章及其相关标签的初始页面,就像 stackoverflow 在主页上所做的那样。我在 PTVIEW 中做错了什么?