错误:android.database.sqlite.SQLiteException:靠近“WHERE”:语法错误:,同时编译:

时间:2012-04-12 02:26:26

标签: android sqlite

 Cursor cursor = db.rawQuery("SELECT id,no,name,lastname FROM mytable WHERE " +
                                   "id = (SELECT MIN(id) and no=0 FROM mytable ); ",null);

我在下面收到了这个错误,你能帮我吗?

我想要的是检索mytable中没有= 0的min Id记录。

  

错误:android.database.sqlite.SQLiteException:靠近“WHERE”:语法错误:,编译时:

1 个答案:

答案 0 :(得分:3)

在不了解sqlite语法的详细信息的情况下,我猜你的子查询格式不正确。

尝试

SELECT id, no, name, lastname FROM mytable WHERE
       id = (SELECT min(ID) FROM mytable WHERE no = 0)

SELECT id, no, name, lastname FROM mytable WHERE
       id = (SELECT min(ID) FROM mytable) AND no = 0

取决于你的解释(但听起来像第一个)。第一个将返回最小idno为0的行,但第二个查询将返回最小id然后使用它来选择对于no为0的行。