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

以下でそのエラーが発生します。手伝っていただけませんか。

私が欲しいのは、mytableのno=0であるminIdを持つレコードを取得することです。

エラー:android.database.sqlite.SQLiteException:「WHERE」の近く:構文エラー:、コンパイル中:

4

1 に答える 1

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

あなたの解釈によって異なります(ただし、最初の解釈のように聞こえます)。最初のクエリは最小値が 0 の行を返しidますnoが、2 番目のクエリは最小値を返し、idそれno使用して aが 0の行を選択します。

于 2012-04-12T02:32:45.070 に答える