首先,让我解释一下表的结构。具体如下。

主表

类别组

字段-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等。