2011-10-12 15 views
8

SQLite'de aşağıdaki sorguda gösterildiği gibi IF EXISTS nasıl yazılır? IF cümlesi SQLite'de bulunmayan bir yerde okudum. Bunun için daha iyi bir alternatif ne olurdu? senin 1 ve 0 aslında (SQLite bir ve sıfır sadece MySQL gibi olan gösterir) mantıksal değerdir elbette varsayarsakSQLite IF Varolan

select exists(
    select 1 
    from tbl_stats_assigned 
    where username = 'abc' 
); 

:

if exists (select username from tbl_stats_assigned where username = 'abc') 
    select 1 as uname 
else 
    select 0 as uname 
+0

Atanmış olsun veya olmasın tüm kullanıcı adlarını içeren bir tabloya ihtiyacınız olacak (bu durumda, tüm kullanıcıları listeleyen bir tablo). Var olmayan bir değer için sonuç kümesinde döndürülen bir kayıt alamıyor, veritabanında bir yerde bir tablo var. –

+0

Teşekkürler Larry. Burada, bir eşleşme bulunup bulunmadığını kontrol etmek için bir kayıt almaya çalışmıyorum. – thinkster

+1

Ardından, veritabanına konuşmak için kullandığınız her dilde o tablonun karşısındaki SELECT ifadesini yürütün. Satır içerip içermediğini belirlemek için geri dönüş sonucunu kontrol edin. Satır yok, tabloda hiç kullanıcı yok demektir. –

cevap

16

Sadece ona standart bir SQL yoldan yapmak.

Bu, herhangi bir SQL veritabanında çalışmalı ve hatta bu deyimi desteklemek için bazı özel optimizasyonlara sahip olmalıdır.

+0

Bu işe yaradı! – thinkster