表POST:SQL Server 2008カンマで区切られた文字列を1つの列からクエリする方法は?
postId Tag Author
-----------------------
1 A,B x,y
2 B,C,D x
3 C,D y
質問:
カンマ区切りの文字列にタグ= 'B' を持つレコードを選択するには?上記の例では、レコード1,2が返されます。
タグ= 'B'と作成者= 'y'のレコードを選択するにはどうすればよいですか?返されたレコードは、BTW 1
する必要があります:私は、その後、3つのテーブルPOST
、TAG
とAUTHOR
にデータベーススキーマを再設計、内部JOIN句をすることによって、望ましいレコードを照会する場合。以前の方法と比較して、これはパフォーマンスが優れていますか?テーブルPOST
には、合計で10,000レコードあります。
リスト内でリストを検索すると、文字列レベルでこれを行うことはできません! 'A、B、C、D'で' A'を見つけたい場合は 'B、C'と同じように簡単です。しかし、 'C、B'や' A、C'はどうでしょうか?そのような値**は別々のテーブルに保存する必要があります**。あなたの場合は、投稿、タグ、著者のテーブルとそれらの間のマッピングテーブルを備えた古典的な 'm:n'デザインを提案します。 Btw:10.000のレコードはあまりない... – Shnugo