我有一个像这样的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)。