Android SQLite SELECT SUM фильтр по конкретному столбцу - PullRequest
0 голосов
/ 02 мая 2018

Мне нужна помощь с суммированием значений в одном из столбцов в моей базе данных. Мне нужны значения сумм по определенному параметру, например по внешнему ключу.

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 голосов
/ 16 мая 2018

на основе предыдущего ответа, если я хочу продолжить добавление, но с текстовой строкой в ​​качестве параметра фильтра. Я пробовал следующее:

String column = tool.ID_PAC_FOREIGN; String str = "VALUE";

String whereCondition = String.format ("% s =% s", столбец, строка); ...

Но я получаю следующую ошибку.

E / SQLiteLog: (1) такой столбец отсутствует: VALUE

0 голосов
/ 02 мая 2018

Если я правильно понимаю ваш вопрос, ответ может быть примерно таким:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...