子查詢我在SQL的Andorid sqllite選擇具有計數
UPDATE Flavor a
SET count = (SELECT COUNT(*)
FROM recipes c
WHERE c.flv1name = a.name)
返回從表中調用配方中的所有條目的數量在名爲flv1name此查詢。然後它更新名爲count的列中名爲flavors的第二個表,其中來自flv1name的條目總數就像這樣。
Table Flavors
_id name count
1 Apple 2
2 Berry 1
3 Cherry 4
問題是,我該如何在我的android應用程序中的數據庫幫助程序中編寫此語句?
這裏是我迄今爲止
public Cursor syncflavorcount() {
mDb = mDbHelper.getReadableDatabase();
String buildSQL = "UPDATE " + DATABASE_TABLE2 + " a SET count = (SELECT COUNT(*) FROM " + DATABASE_TABLE + " c WHERE c.flv1name = a.name) ";
return mDb.rawQuery(buildSQL, null);
}
謝謝,我認爲這個問題是與nDb.update。它正在調用一個不同的格式,而不是一個編譯語句。因此,這個問題。如何在Android的DBAdapter中編寫此語句。 –
好吧,我經過一些更改後運行代碼,並且出錯。 錯誤代碼:1(SQLITE_ERROR) 原因:SQL(查詢)錯誤或缺少數據庫。在編譯時:UPDATE調用SET count =(SELECT COUNT(*)FROM recipes c WHERE c.flv1name = a.name))(「a」:語法錯誤(代碼1): –