日期:2014-05-16  浏览次数:20581 次

【提问】求一Sql语句
本帖最后由 xupeihuagudulei 于 2014-03-12 14:59:01 编辑

有以下三张表
tableA 部门表
deptId deptName parentId
1        上海      0
2        杭州      0
3        浦东      1
4        西湖      2
...      ...     ...

tableB 商户表
accountId      accountName
1                食堂A
2                食堂B
3                食堂C
..               ..
 

tableC 消费记录表
feeId      accountId       deptId     money
1           1                1         100
2           1                2         100
3           2                3         200
4           2                4         300
5           3                3         200
6           3                4         400
7           1                1         100
...         ...              ...       ...

结果表如下:
部门     食堂A    食堂B   食堂C   ...   汇总金额
上海      200     200     200   ...   500     
杭州      100     0       400   ...   500
汇总金额  200     200     600   ...   1000

对于以上结果表有以下说明:
1、结果表部门一列只列出一级部门(部门表里parentId为0)
2、部门在商户的消费金额是一级部门下的所有子部门消费金额的和( 如:上海这个部门的消费包含上海本身部门的消费以及浦东这个部门的消费)
3、部门层级可能无限。
<