我需要帮助汇总数据库中某列的值。我需要一个特定参数的和值,例如外键。
Cursor cursor = db.rawQuery("SELECT SUM(" + tool.CAMP_PRICE + ") FROM " + tool.TABLE_DATE + " WHERE " + tool.ID_PAC_FOREIGN);
CAMP_PRICE
是我要求的阵营
TABLE_DATE
是表格
ID_PAC_FOREIGN
是外键谢谢。
答案 0 :(得分:0)
如果我理解你的问题,答案可能是这样的:
String foreignKey = "your_foreign_key";
String column = tool.ID_PAC_FOREIGN;
String whereCondition = String.format("%s = %s", column, foreignKey);
String sql = String.format("" +
"SELECT SUM(CASE WHEN %s IS NULL THEN 0 ELSE %s) " +
"FROM %s " +
"WHERE %s"
// SELECT
tool.CAMP_PRICE, tool.CAMP_PRICE,
// FROM
tool.TABLE_DATE,
// WHERE
whereCondition
);
db.rawQuery(sql, null);
答案 1 :(得分:0)
基于之前的答案,如果我想继续添加,但使用文本字符串作为过滤器参数。 我尝试过以下方法:
String column = tool.ID_PAC_FOREIGN; String str =“VALUE”;
String whereCondition = String.format(“%s =%s”,column,str); ...
但我收到以下错误。
E / SQLiteLog:(1)没有这样的列:VALUE