请各位高手查看一下这个合计SQL语句哪出错了!!!!!
有两个表,一个是部门表,一个预算表表结构如下
select * from td_dep //部门表
depID depName
1 生产部
2 办公室
3 质检站
select * from td_pay //预算表
payID payName payDate fee_money bankroll_money depid
1 报出车费 2007-01-02 100.50 200.5 1
2 报招待费 2007-01-04 50 100 2
3 报柴油费 2007-02-24 500 1000 1
4 报柴油费 2007-03-03 200 1000 1
5 报出车费 2007-04-04 50 100 1
6 报党建费 2007-05-06 50 500 1
7 报出车费 2007-05-15 100 100 1
现在我要合计出生产部3、4、5月的费用情况并得出合计,我写了一个SQL语句,但是老是不显示合计
这个是我的SQL语句:
select decode(yy.payid || ' ', ' ', '本月小计 ',yy.payid || ' ') as payid,
yy.payname,
tt.paydate,
tt.sum_fee_money,
tt.sum_bankroll_money,
yy.depName,
tt.ym
from (
select grouping_id(to_char(tp.payDate, 'yyyymm '),tp.payDate),
tp.payDate,
to_char(tp.payDate, 'yyyymm ') as ym,
sum(tp.fee_money) as sum_fee_money,
sum(tp.bankroll_money) as sum_bankroll_money
from td_dep td,
td_pay tp
where td.depID = tp.depid
and td.depid = 1
group by rollup(to_char(tp.payDate, 'yyyymm '),tp.payDate)
)tt
,
(select *
from td_dep td,
td_pay tp
where td.depID = tp.depid
and td.depid = 1
)yy
where tt.payDate = yy.payDate(+)
and tt.ym >= '200703 '
and tt.ym <= '200705 '
and tt.ym is not null
我得出的结果是这样的,没有每个月合计行。
payid payname paydate sum_fee_money sum_bankroll_money depName ym
4 报柴油费 2007-3-3 200 1000 生产部 200703
5 报出车费 2007-4-4 50 100 生产部 200704
6 报党建费 2007-5-6 50 500 生产部 200705
7 报出车费 2007-5-15 100 100 生产部 200705
请各位高手赐教!万分感谢!
------解决方案-------------------- 可能是别名的问题,我下面的代码有结果!
select decode(yy.payid || ' ', ' ', '本月小计 ',yy.payid || ' ') as payid,
yy.payname,
tt.paydate,
tt.sum_fee_money,
tt.sum_bankroll_money,
yy.depName,
tt.ym
from (
select grouping_id(to_char(td_pay.payDate, 'yyyymm '),td_p