Rodar uma sequência separada por vírgulas em linhas individuais

Tenho uma tabela SQL como esta:

| SomeID         | OtherID     | Data
+----------------+-------------+-------------------
| abcdef-.....   | cdef123-... | 18,20,22
| abcdef-.....   | 4554a24-... | 17,19
| 987654-.....   | 12324a2-... | 13,19,20

existe uma consulta na qual eu posso realizar uma consulta comoSELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......' que retorna linhas individuais, assim:

| OtherID     | SplitData
+-------------+-------------------
| cdef123-... | 18
| cdef123-... | 20
| cdef123-... | 22
| 4554a24-... | 17
| 4554a24-... | 19

Basicamente dividir meus dados na vírgula em linhas individuai

Estou ciente de que armazenar umcomma-separated a string em um banco de dados relacional parece idiota, mas o caso de uso normal no aplicativo consumidor torna isso realmente úti

Não quero fazer a divisão no aplicativo, pois preciso de paginação; portanto, queria explorar as opções antes de refatorar o aplicativo inteir

EstáSQL Server 2008 (não R2).

questionAnswers(14)

yourAnswerToTheQuestion