Mam taką tabelę SQL:
| SomeID | OtherID | Data
+----------------+-------------+-------------------
| abcdef-..... | cdef123-... | 18,20,22
| abcdef-..... | 4554a24-... | 17,19
| 987654-..... | 12324a2-... | 13,19,20
czy istnieje zapytanie, w którym mogę wykonać takie zapytanie, SELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......'
które zwraca pojedyncze wiersze, takie jak to:
| OtherID | SplitData
+-------------+-------------------
| cdef123-... | 18
| cdef123-... | 20
| cdef123-... | 22
| 4554a24-... | 17
| 4554a24-... | 19
Zasadniczo podzielisz moje dane przecinkiem na poszczególne wiersze?
Wiem, że przechowywanie comma-separated
łańcucha w relacyjnej bazie danych brzmi głupio, ale normalny przypadek użycia w aplikacji konsumenckiej sprawia, że jest to naprawdę pomocne.
Nie chcę dokonywać podziału w aplikacji, ponieważ potrzebuję stronicowania, więc chciałem zbadać opcje przed refaktoryzacją całej aplikacji.
To SQL Server 2008
(nie R2).