Benutzer mit den meisten Antworten
Zerlegen eines Feldinhaltes in mehrere einzelne Datenzeilen

Frage
-
Hallo zusammen,
ich stehe vor dem Problem dass ich in einer Abfrage folgende Tabelle benutzen muss, hier sind Artikel mit den relevanten Kostenträger abgelegt, die Kostenträgernummer ist ggfs. durch ein "Pipe"-Symbol getrennt:
Da ich eine andere Tabelle (Kundenstammdaten mit jeweils einem einzigen Kostenträger) gegen diese Tabelle abgleichen muss habe ich ein Performance-Problem wenn ich den Vergleich mit LIKE %kostenträger% oder mit CHARINDEX() durchführe!
Ich hatte deshalb die Idee o.g. Tabelle vorher per Abfrage in folgende Form zu bringen, also diese Mehrfachkostenträger in eine optimalere Form zu bringen:
...hier fehlt mir allerdings das Wissen wie eine solche Abfrage aussehen müsste, hat da jemand eine Idee?
Schon mal ganz lieben Dank vorab,
Marcus
- Bearbeitet AdminKnecht2011 Mittwoch, 5. April 2017 08:32
Antworten
-
Hallo Marcus,
dafür kannst Du diese Funktion verwenden: Convert Small CSV Value to Table, das verwendete Trennzeichen kannst Du als Parameter übergeben.
Ab SQL Server Version 2016 kannst Du dann auch die STRING_SPLIT (Transact-SQL) Funktion nutzen.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Mittwoch, 5. April 2017 08:44
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 5. April 2017 11:53
- Als Antwort markiert AdminKnecht2011 Mittwoch, 12. April 2017 07:33
Alle Antworten
-
Hallo Marcus,
dafür kannst Du diese Funktion verwenden: Convert Small CSV Value to Table, das verwendete Trennzeichen kannst Du als Parameter übergeben.
Ab SQL Server Version 2016 kannst Du dann auch die STRING_SPLIT (Transact-SQL) Funktion nutzen.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Mittwoch, 5. April 2017 08:44
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 5. April 2017 11:53
- Als Antwort markiert AdminKnecht2011 Mittwoch, 12. April 2017 07:33