singu 10 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 ich habe folgendes Problem und zwar habe ich einen String, dieser enthält Werte durch % getrennt. Nun möchte ich die Werte getrennt auslesen und in eine SQL Query packen, jeder wert ist in einer Query, alle zusammen werden mit UNION verknüpft. Wie kann ich das realisieren? Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Hi Zum Beispiel so in der Art: MSSQL Split bzw. explode function | SECURITY-BLOG.EU Gruß Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Die Frage wäre zuerst: Mit welcher Programmiersprache ? -Zahni Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 ich möchte alles in einem SQL Skript machen. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, wo befindet sich denn der String? In einem Datenbankfeld? In einer externen Applikation? Du müsstest schon ein paar Ecken genauer werden. Gruß, Nils Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Also der String befindet sich in einer Variable, die ich oben im SQL Skript deklariere und ihr danach den string zuweise Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, aha, dann doch so ausführlich. :( In dem Fall sollte Carstens Split-Funktion dir weiterhelfen. Wie du dann deine Queries baust, musst du selbst sehen - evtl. als dynamische Abfrage. Gruß, Nils Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Gibt es auch ne andere Möglichkeit. Also der String sieht so aus. *AC*BX*HG Nun möchte ich aus diesem String AC, BX, HG bekommen. Diese 3 Werte schleif ich dann durch und baue diese in eine Where-Klausel ein, die dann alle mit Union verbunden werden Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, so kommen wir nicht weiter. Beschreibe genau, was du machst und was dein Ziel ist. Sonst können wir nur raten, aber dir nicht sinnvoll helfen. Gruß, Nils Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Also ich habe in einer Variable x eine Zeichenfolge, die sieht folgendermaßen aus. *AC*BX*HG* Nun möchte ich alle Einträge aus einer Tabelle auslesen, die AC enthalten, dann die BX enthalten, usw. Alle Ergebnisse werden mit UNION zusammen gefasst Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Also so wie ich das verstehe würdest du mit einer IN-Klausel wahrscheinlich weiter kommen. Dann kannst du dir das mit der Variable komplett sparen... Select <blub> from <bla> where <möp> in ('AC', 'BX', 'HG')[/Code] Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Aber wie splitte ich die Werte, so das ich prüfen kann. Edit: Weil die Werte sind nicht immer gleich Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, vielleicht kannst du endlich mal ausführlich erläutern, worum es geht. Wo kommt der String her, den du zerlegen willst? Irgendwie muss der doch in dein Skript kommen. Wird der von einer Applikation übergeben? Kommt er aus einem Tabellenfeld? Warum stehen überhaupt mehrere Werte in einem String? Müssen die Abfragen hintereinander laufen, oder würde eine Kriterienverknüpfung via "OR" ausreichen? How to ask a question Gruß, Nils Zitieren Link zu diesem Kommentar
singu 10 Geschrieben 12. August 2010 Autor Melden Teilen Geschrieben 12. August 2010 Also ich benötige die Lösung für ein Warenwirtschaftssystem. Der String kommt aus einem Feld. Ich habe mehrere tausend Datensätze. Und ich möchte nur die Datensätze anzeigen, die folgende Zeichen enthalten. *AC*BX*HG* Also wenn in ein Datensatz in der Spalte Description AC enthält, dann soll diese als Ergebnis angezeigt werden und so auch bei den anderen. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. August 2010 Melden Teilen Geschrieben 12. August 2010 Moin, du könntest die von Carsten gepostete Funktion abwandeln, sodass sie die Werte in eine temporäre Tabelle speichert. Dann fragst du die mit der Zieltabelle gejoined ab. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.