Ich habe Suchanfragen, die in einem CDL kommen ("1,2,3,4")
, ("1,5")
. Ich muss das mit einer anderen CDL vergleichen und alle Datensätze zurückgeben, die eine Übereinstimmung haben. Der Kicker ist die Position jeder Nummer ist nicht immer gleich.Vergleichen Sie durch Komma getrennte Strings in SQL
Ich habe etwas fast funktioniert außer für Fälle, in denen ich versuche, ("2,5")
zu ("2,4,5")
zu entsprechen. Offensichtlich sind die Strings nicht gleich, aber ich muss diese Übereinstimmung zurückgeben, da sie alle Werte in der ersten CDL enthält.
My SQL Fiddle should make it fairly clear...
Jede Hilfe sehr geschätzt würde.
Oh, und ich sah dies one ist ähnlich, aber das scheint ein wenig drastisch und über meinen Kopf, aber ich werde sehen, ob ich versuchen kann, es zu verstehen.
bearbeiten
So habe ich nur ersetzen ("2,5")
zu ("%2%5%")
zu ändern und änderte die LIKE
verwenden waren. Von dem, was ich am Anfang sagen kann, scheint es zu funktionieren .. SQL Fiddle Irgendeinen Grund, warum ich das nicht tun sollte oder vielleicht bin ich verrückt und es funktioniert überhaupt nicht?
vielleicht wäre es einfacher, wenn Sie stattdessen einheitliche CDL erzeugen könnte (kann die Geige nicht sehen, vielleicht mein Kommentar völlig irrelevant ist). – didierc