首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

高分求SQL!多谢

2012-01-06 
高分求SQL!谢谢!SQL codetradeid demin_class_id totalvalue1110121013102220232025202620需求是这样的:假

高分求SQL!谢谢!

SQL code
tradeid demin_class_id totalvalue1        1               101        2               101        3               102        2               202        3               202        5               202        6               20需求是这样的:假设tradeid为报销单号,求出所有报销费用之和,demin_class_id表示同一张报销单的不同分类,即一张报销单按不同的分类,其费用是一致的,现在要计算所有报销费用之和!谢谢!在线等!


[解决办法]
SQL code
select tradeid,sum(totalvalue) from tablename group by tradeid
[解决办法]
SQL code
select tradeid ,sum(totalvalue)   from(   select distincts tradeid , totalvaluefrom a    )group by tradeid
[解决办法]
select sum(totalvalue) from test order by tradeid,demin_class_id group by tradeid,demin_class_id;


[解决办法]
不是很明白楼主意思。按报销单求费用和的话就直接
select sum(totalvalue) from tablename group by tradeid;
求总和的话就
select sum(totalvalue) from tablename;
不会问的这么简单吧。如果不是再说明白点。
[解决办法]
是每个报销单号的所有费用.还是所有有费用?
每个:
select tradeid,sum(totalvalue) from 表名 group by tradeid;
所有:
select sum(totalvalue) from 表名;

[解决办法]
select demin_class_id,sum(totalvalue) from test order by demin_class_id group by demin_class_id; 


[解决办法]
引用楼主 Fenglee2008 的帖子:
SQL code
tradeid demin_class_id totalvalue
1 1 10
1 2 10
1 3 10
2 2 20
2 3 20
2 5 20
2 6 20

需求是这样的:假设tradeid为报销单号,求出所有报销费用之和,demin_class_id表示同一张报销单的不同分类,即一张报销单
按不同的分类,其费用是一致的,现在…

[解决办法]
是不是这个答案呢
WITH a AS (SELECT '1' ID ,1 cid ,10 sal FROM dual
UNION ALL
SELECT '1' ID ,2 cid ,10 sal FROM dual
UNION ALL
SELECT '1' ID ,3 cid ,10 sal FROM dual
UNION ALL
SELECT '2' ID ,2 cid ,20 sal FROM dual
UNION ALL
SELECT '2' ID ,3 cid ,20 sal FROM dual
UNION ALL
SELECT '2' ID ,5 cid ,20 sal FROM dual
UNION ALL
SELECT '2' ID ,6 cid ,20 sal FROM dual
)
SELECT 'id-'||nvl(ID,'总和') ,SUM(sal) FROM a 
group by rollup(ID)
UNION ALL
SELECT 'cid-'||nvl(''||cid,'总和') ,SUM(sal) FROM a 
group by rollup(cid);

结果是:

id-130
id-280
id-总和110
cid-110
cid-230
cid-330
cid-520
cid-620
cid-总和110
[解决办法]
select tradeid ,sum(totalvalue)
from(
select distinct 
tradeid , totalvalue
from a

)
group by tradeid
[解决办法]


 select sum(totalvalue) as 总费用
from( 
select distinct 
tradeid , totalvalue 
from a) 

 
[解决办法]
select sum(totalvalue) from tbl
------解决方案--------------------


“这两张表”
第2张表是什么?
[解决办法]
select * from city order by range_id
[解决办法]
select distinct tradeid, sum(totalvalue) from tablename group by tradeid
[解决办法]

SQL code
是这个意思吗?如果不是LZ想要的就把想要的结果贴出来就明白了。SQL> SELECT C.CITY_ID,C.RANGE_ID  2    FROM (SELECT 1 CITY_ID,3 RANGE_ID FROM DUAL  3          UNION ALL  4          SELECT 2 CITY_ID,4 RANGE_ID FROM DUAL  5          UNION ALL  6          SELECT 3 CITY_ID,1 RANGE_ID FROM DUAL  7          UNION ALL  8          SELECT 4 CITY_ID,2 RANGE_ID FROM DUAL  9          )C, 10         (SELECT 3 RANGE_ID FROM DUAL 11          UNION ALL 12          SELECT 4 RANGE_ID FROM DUAL 13          UNION ALL 14          SELECT 1 RANGE_ID FROM DUAL 15          UNION ALL 16          SELECT 2 RANGE_ID FROM DUAL 17          )R 18   WHERE C.RANGE_ID = R.RANGE_ID 19   ORDER BY C.RANGE_ID;   CITY_ID   RANGE_ID---------- ----------         3          1         4          2         1          3         2          4SQL> 

热点排行