【发布时间】:2021-10-20 06:22:49
【问题描述】:
我的付款分析应用具有以下简化结构:
付款
CREATE TABLE payments (
payment_Id TEXT NOT NULL,
payment_type INTEGER NOT NULL,
payment_name TEXT NOT NULL,
payment_category INTEGER NOT NULL,
payment_date TEXT NOT NULL,
payment_cost TEXT NOT NULL, PRIMARY KEY(payment_Id))
类别
CREATE TABLE categories (
category_Id INTEGER NOT NULL,
idRoot TEXT NOT NULL,
category_Name TEXT NOT NULL,
category_Type INTEGER NOT NULL, PRIMARY KEY(category_Id))
外键:category.category_Id = payment_category
类别以树形层次结构:
| IdRoot | category_Id | Name |
|---|---|---|
| - | 0 | Unknown |
| 0. | 1 | Expenses |
| 0.1. | 2 | House |
| 0.1. | 3 | Transport |
| 0.1. | 4 | Travel |
| 0.1.2. | 5 | Internet |
| 0.1.2. | 6 | Groceries |
| 0.1.2. | 7 | Water |
| 0.1.3. | 8 | Car |
| 0.1.3. | 9 | Public Transport |
| 0.1.3.8. | 10 | Gasoline |
| 0.1.3.8. | 11 | Tolls |
| ... | ... | .... |
付款可以分配到任何类别(category_Id = 0 除外)。
我想知道是否可以仅使用 SQLite(与 Android 兼容)来获取父类别的所有子类别以及分配给该级别中每个类别及其子类别的 payment_cost 总和。
示例:给定类别 Transport(category_Id: 3),sqlite 将返回 Car 和 Public Transport 及其总和,但 Car 的总和还将包括分配给 Gasoline 和 Tolls 的 payment_cost,如下所示
Input: category_Id: 3
Data:
| payment_name | payment_cost| payment_category |
| ------------ | ---------- | ----------------- |
| Gas Station | 50,3 | 10 |
| Metro | 2,4 | 9 |
| Tool NY - Phil | 21 | 11 |
| Car cleaning | 11 | 8 |
结果
| category_name | Total |
|---|---|
| Car | 82,3 (50,3 + 21 + 11) |
| Public Transport | 2,4 |
提前感谢您的时间和知识
【问题讨论】:
标签: android sql sqlite android-sqlite