按特定列

时间:2018-05-02 16:41:05

标签: android sqlite

我需要帮助汇总数据库中某列的值。我需要一个特定参数的和值,例如外键。

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是外键

谢谢。

2 个答案:

答案 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

相关问题