[SQLite] Suche in DB mit LIKE

DrSoong

Iss was, Doc!
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
SQL:
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!
 
Zuletzt bearbeitet von einem Moderator:
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
SQL:
SELECT * 
FROM tabelle 
WHERE 
    CONCAT(field1, ' ', field2, ' ', field3) LIKE '%argument1%'
    AND CONCAT(field1, ' ', field2, ' ', field3) LIKE '%argument2%';
 
Zuletzt bearbeitet von einem Moderator:
Danke, über CONCAT binn ich dann auf "||" für SQLite gestoßen, ist genau da, was ich gesucht habe.


Der Doc!
 
Zurück