Ich muss eine SQLite-Datenbank nach einigen Einträgen abfragen, die ein Feld enthalten, dessen Wert einer definierten Liste angehören kann: 'Token1', 'Token2', ..., 'TokenN' - möglicherweise ein langer.

Die einfache SELECT-Anweisung wäre so etwas wie

SELECT * FROM `my_table` WHERE `token` = 'Token1' OR `token` = 'Token2' OR ...

- alles andere als elegant. Ich frage mich, gibt es einen besseren Weg, um die Aussage zu formulieren?

0
Alex Konnen 18 Jän. 2019 im 22:31

3 Antworten

Beste Antwort

Sie können die IN -Klausel verwenden

 SELECT * FROM `my_table`
 WHERE `token` in ('Token1','Token2', 'Token3', ....);
2
Derviş Kayımbaşıoğlu 18 Jän. 2019 im 19:36

Verwenden Sie das Platzhalterzeichen %%.

SELECT * FROM `my_table` WHERE `token` like '%Token%'
2
Cujoey 18 Jän. 2019 im 19:46

Wenn Ihre definierte Liste in einer Tabelle platziert ist oder platziert werden kann, können Sie Folgendes tun:

SELECT 
   *
FROM [employeeName] Where dept In (Select dept From #tbl)
1
level3looper 18 Jän. 2019 im 19:57