次のようなSQLテーブルがあります。
| SomeID | OtherID | Data
+----------------+-------------+-------------------
| abcdef-..... | cdef123-... | 18,20,22
| abcdef-..... | 4554a24-... | 17,19
| 987654-..... | 12324a2-... | 13,19,20
次のようなSELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......'
個々の行を返すようなクエリを実行できるクエリはありますか。
| OtherID | SplitData
+-------------+-------------------
| cdef123-... | 18
| cdef123-... | 20
| cdef123-... | 22
| 4554a24-... | 17
| 4554a24-... | 19
基本的に、データをコンマで個々の行に分割しますか?
comma-separated
文字列をリレーショナルデータベースに格納するのは馬鹿げているように聞こえるかもしれませんが、コンシューマーアプリケーションの通常のユースケースではそれが非常に役立ちます。
ページングが必要なため、アプリケーションで分割したくないので、アプリ全体をリファクタリングする前にオプションを検討したいと思いました。
それはSQL Server 2008
(非R2)です。