投稿に複数のタグを付けることができる典型的な投稿とタグのアプリケーションを構築しています。データベース スキーマの設定に行き詰まっています。私はこれまでに持っています:
投稿:
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 タグ テーブルに名前を挿入し、ID を取得して PT テーブルに挿入します。両方とも、POST テーブル挿入で生成されたポスト ID と一緒です。
最後に、次のスキーマを持つ PTVIEW というビューがあります。
SELECT *
FROM dbo.PT
JOIN Post
ON PT_PostID = dbo.Post.POST_ID
JOIN Tag
ON PT_TagID = tag.TAG_ID
select * from PTVIEW のサンプル結果を次に示します。
問題は、独自の投稿とそのタグを表示できないことです。
MSSQL を使用しているため、mySQL に Group_concat 関数が組み込まれていません。
ホームページでstackoverflowが行うように、各投稿とそれに関連するタグを表示する最初のページを作成できません。PTVIEW で何が間違っていますか?