# [SQLite] Suche in DB mit LIKE



## DrSoong (6. Oktober 2010)

Hallo,

ich habe eine Tabelle in einer SQLite-Datenbank, hier will ich in 2 Feldern (beides Textfelder) suchen. Das wäre mit LIKE kein Problem, ich hab teilweise aber 2-3 Suchargumente, die ich OR (von AND träum ich momentan) verknüpfe. Jetzt würde der SQL-Code doch etwas länger werden, so ala

```
SELECT * FROM tabelle WHERE feld1 LIKE '%argument1%' OR feld1 LIKE '%argument2%' OR feld2 LIKE '%argument1%' OR feld2 LIKE '%argument2%' ...'usw
```
Kann man das ganze etwas besser und performanter machen, eventuell auch so AND-Verknüpft, dass alle Suchargumente vorhanden sein müssen, egal in welchem Feld sie liegen?


Der Doc!


----------



## Yaslaw (6. Oktober 2010)

Keine Ahnung ob das mit SQLLite geht. Ist also mehr mal einen möglichen Ansatz.
Du kannst das grundsätzlich so kombineren, indem du alle Felder mit ' ' verknüpfst un darin suchst.
Bei MySQL würd es dann so aussehen

```
SELECT * 
FROM tabelle 
WHERE 
    CONCAT(field1, ' ', field2, ' ', field3) LIKE '%argument1%'
    AND CONCAT(field1, ' ', field2, ' ', field3) LIKE '%argument2%';
```


----------



## DrSoong (7. Oktober 2010)

Danke, über CONCAT binn ich dann auf "||" für SQLite gestoßen, ist genau da, was ich gesucht habe.


Der Doc!


----------

