Spalte mit Komma getrennten Werten vergleichen

ny_unity

SQL-Guru
Beiträge
192
Hallo zusammen,

ich habe eine Spalte, die enthält strings wie: a, b, c, d => also mehrere Werte die durch ein Komma getrennt sind (angenommen Spaltenname ist Prüfung)

Jetzt möchte ich darauf ein where setzen, also in der Art wie Prüfung in (a,b,d). Jetzt sollen alle Werte angezeigt werden, die a b oder d enthalten.

Kann jemand helfen? mit einem einfachen in gehts nicht, wahrscheinlich weil meine Spalte nicht eindeutig ist, weil er nimmt immer den ersten wert und vergleicht dann.

Danke,

MfG

Erik
 
Werbung:
das ist ein recht gutes Zeichen für ein verkorkstes Tabellendesign. Anstatt jetzt eine Lösung dafür zu suchen, wie man dennoch damit zurecht kommt und den Murks damit zementiert wäre es besser, das Grundproblem zu lösen.
 
ich habe die Tabelle selbst aufgebaut und gefüllt. Die Werte darin stellen die Branchen eines Kunden dar, ein Kunde kann halt mehrere Branchen haben. Und ich suche mit meinen Beurfsschlüsseln, ob sie in diese Branche passen.

Aufgebaut ist es also:
Spalte 1: Kunde A
Spalte 2: Holz, Boden, Metall

Jetzt möchte ich das der Kunde angezeigt wird, wenn ich nach Metll filtere. Aber der Kunde wird nur gefiltert, wenn ich nach Holz suche.
 
mach eine zweite Tabelle, mit einen FK auf den Kunden und einer Spalte für die Branche. Dann kannst Du da nach herzenslust Zeilen zufügen, ändern, löschen. Und die Suche ist trivial. JOIN's zwischen Tabellen wurden EXAKT für diesen Usecase erfunden, nutze sie.
 
Das Design ist kaputt und sollte gefixt werden.
Code:
SELECT * FROM tabelle WHERE spalte2 LIKE '%Metall%'
wird dich in diesem Fall zum Ziel führen. Schon sehr bald wird das aber vermutlich nicht mehr reichen.
 
Werbung:
Zurück
Oben