首先,让我解释一下表的结构。具体如下。
主表
类别组
字段-CatGroupID、GroupName、GroupType
样本数据
CatGroupID组名组类型
1水电费
2汽车费用
3其他费用
4收入收入
5家庭费用
子表
交易类别
字段-categoryID、catgroupID、catname、catimgname
样本数据
categoryID catgroupid catname catimgname
1 1 water water.png
2 1电话phone.png
3 1电力ele.png
4 2 auto auto.png
5 2 gas gas.png
子表-
交易行为
字段-rowid、userid、profileid、categoryid、traid、tragate、traamt
样本数据
rowid(autoinc)userid profileid categoryid traid tratate traamt
1 1 1 1 2010-1-1 1000.00
2 1 1 2 2010-1-2 250.00
我试过很多问题,其中一个问题如下:
从TransactionTbl A、TransactionCategory B、CategoryGroup C中选择a.tradate、a.traamt、c.grouptype、b.catname。
其中a.tradate='2010-01-11'和a.categoryid=b.categoryid和b.catgroupid=c.catgroupid
我是iPhone开发人员,使用sqlite。关于数据库管理、查询和联接,我几乎没有什么想法。正因为如此,我不得不在这里问。
我需要的输出如下。
traid tradate catname amount余额|
1。| 2010-1-1收入5000.00 5000.00|
2。| 2010-1-2自动250.00 4750.00|
三。| 2010-1-3天然气200.00 4550.00|
4。| 2010-1-4收入500 5050.00|
请注意上面每一行。
如果我有收入交易,它应该增加余额,并且
如果我有费用交易,它应该从余额中减去。
编辑:
我找到了一些解决办法-一点。但这还不是我想要的。
select A.traID,B.CatName,C.GroupType,A.TraDate,A.TraAmt from transactionTbl A,TransactionCategory B,CategoryGroup C
where A.CategoryID=B.CategoryID and B.CatGroupID=C.CatGroupID
order by A.TraDate,A.TraID
输出如下。
traid catname grouptype tratate traamt
————————————————————————————-
1收入收入2010-01-01 5000
2收入收入2010-01-02 4500
3水费2010-01-03 450
4电话费2010-01-03 450
5电费2010-01-03 650
6汽车费用2010-01-03 750
7汽车费用2010-01-03 450
8燃气费2010-01-05 750
9杂项费用2010-01-06 800
10健康费用2010-01-13 250
11税费2010-01-21 450
12投资费用2010-01-22 450
13信用卡费用2010-01-27 550
14外出就餐费用2010-01-29 450
最后要实现的是平衡管理。
像这里-平衡应该如下
平衡
1。五千
2.第2条。9500个
三。9050等。