Hi,
Ich habe in sqlite nach einem JOIN folgendes Ergebnis:
ID | lang | kurz
1 | gelb, rot, schwarz | grün
2 | gelb, rot, schwarz | gelb
3 | gelb, rot, schwarz | blau
Jetzt möchte ich gern ermitteln, in welchen Zeilen den Inhalt von kurz in der Spalte lang enthalten ist. In unserem Fall also 1.
Das hier klappt nicht:
SELECT \* FROM tabelle WHERE lang IN kurz
und das auch nicht:
SELECT \* FROM tabelle WHERE lang LIKE kurz
Hat jemand noch eine andere Idee?
herzlichst,
Günther
Habs selbst rausbekommen:
SELECT \* FROM tabelle WHERE lang LIKE '%' || kurz || '%'
liefert
ID | lang | kurz
2 | gelb, rot, schwarz | gelb
for google:
Compare 1 column with parts of a second column using sqlite.
Günther
Hey,
das klappt aber nur solange solang du nicht mal die Farbe hellgelb in lang dabei hast.
Falls du damit mal probleme bekommen solltest oder dir die Abfrage zu langsam wirt musst du dich mit dem Thema Volltext Index beschäftigen.
http://www.sqlite.org/fts3.html
Gruß
1 „Gefällt mir“
Vielen Dank, in der Tat suche ich nicht hellgelb. Auch das Tempo spielt in diesem Anwendungsfall keine wirkliche Rolle. Aber dennoch danke für die Ergänzung.