SQLite IF Exists Klausel
Wie schreiben Sie, WENN VORHANDEN, wie gezeigt, in der folgenden Abfrage in SQLite? Ich habe irgendwo gelesen, dass die WENN-Klausel existiert nicht in SQLite. Was wäre eine bessere alternative dazu?
if exists (select username from tbl_stats_assigned where username = 'abc' )
select 1 as uname
else
select 0 as uname
- Sie gehen zu müssen, um eine Tabelle, die enthält alle Benutzernamen, ob zugewiesen oder nicht (in diesem Fall eine Tabelle, in der alle Benutzer). Man kann nicht ein Datensatz in einem ResultSet zurückgegeben wird, einen Wert, der nicht existiert, ist eine Tabelle irgendwo in der Datenbank.
- Dank Larry. Hier, ich versuche nicht, rufen Sie einen Datensatz nur überprüfen, wenn eine übereinstimmung gefunden wird.
- Dann führen Sie eine SELECT-Anweisung für die Tabelle, in welcher Sprache Sie verwenden, um zu sprechen, um die Datenbank. Überprüfen Sie das Ergebnis zurückgeben set, um zu bestimmen, ob es eine Reihe ist oder nicht. Wird keine Zeile bedeutet, dass keine Benutzer in der Tabelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur tun es die standard-SQL-Weise:
Vorausgesetzt natürlich, dass Ihr
1
und0
eigentlich sind Boolesche Werte (die SQLite stellt mit null und eins genau wie MySQL).Diese Arbeit sollte in jeder SQL-Datenbank und einige haben sogar spezielle Optimierungen zu unterstützen, die idiom.