Spalte als Teil einer anderen abfragen

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 Like

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.