とサブクエリを選択sqllite私はテーブルからすべてのエントリの数を返すSQLAndoridカウント
UPDATE Flavor a
SET count = (SELECT COUNT(*)
FROM recipes c
WHERE c.flv1name = a.name)
でこのクエリはflv1nameという名前の列でレシピを求めています。次に、countという名前のカラムのflavorsという2番目のテーブルをflv1nameのエントリの総数で更新します。
Table Flavors
_id name count
1 Apple 2
2 Berry 1
3 Cherry 4
質問は、どのように私のアンドロイドアプリケーションのデータベースヘルパーにこのステートメントを書くのですか?ここで
は、私は、これはAndroidアプリケーションデータアダプタで動作するためにはおよそmDb.update("UPDATE " + DATABASE_TABLE2 + " a SET count = (SELECT COUNT(*) FROM " + DATABASE_TABLE + " c WHERE c.flv1name = a.name)")
のおかげで、この
から
、私は問題がnDb.updateであると思います。コンパイルされたステートメントではなく、別の形式を要求しています。したがって、疑問。私のDBAdapter for Androidにこのステートメントを書く方法。 –
私はいくつかの変更後にコードを実行し、これでエラーが発生します。 エラーコード:1(SQLITE_ERROR) 原因:SQL(クエリ)エラーまたはデータベースがありません。 ( "a"の近く:構文エラー(コード1):コンパイル中にUPDATEフレーバにSET count =(SELECT COUNT(*)FROM recipes c WHERE c.flv1name = a.name)) –