查询语句:
select 计划编号,名称,金额 from 表1 ;
结过是:
计划编号 名称 金额
1 名称1 1
2 名称2 2
3 名称3 3
4 名称4 4
5 名称5 5我这边有个需求,需要计划编号为 2 的那行记录的金额 是由 计划编号为 4 和 5 的合计
想要的结过是:
计划编号 名称 金额
1 名称1 1
2 名称2 9
3 名称3 3
4 名称4 4
5 名称5 5求SQL高手帮忙解答一下,能否通过SQL语句实现 小弟的需求。
select 计划编号,名称,金额 from 表1 ;
结过是:
计划编号 名称 金额
1 名称1 1
2 名称2 2
3 名称3 3
4 名称4 4
5 名称5 5我这边有个需求,需要计划编号为 2 的那行记录的金额 是由 计划编号为 4 和 5 的合计
想要的结过是:
计划编号 名称 金额
1 名称1 1
2 名称2 9
3 名称3 3
4 名称4 4
5 名称5 5求SQL高手帮忙解答一下,能否通过SQL语句实现 小弟的需求。
手打的,你自己测试一下。
(select * from test t where t.code!=2
union all
select 2 as code,'num2' as a,sum(case when code in (2,5,6) then sum1 else 0 end) as sum1 from test)
order by code
相应的表名字段名什么的自己对应下,亲测有效
WITH TAB_TEST AS
(SELECT 1 "计划编号", '名称1 ' "名称", 1 "金额" FROM DUAL
UNION ALL
SELECT 2, '名称2', 2 FROM DUAL
UNION ALL
SELECT 3, '名称3', 3 FROM DUAL
UNION ALL
SELECT 4, '名称4', 4 FROM DUAL
UNION ALL
SELECT 5, '名称5', 5 FROM DUAL)
SELECT "计划编号",
"名称",
CASE
WHEN "计划编号" = 2 THEN
(SELECT SUM("金额") FROM TAB_TEST T WHERE t."计划编号" IN (4, 5))
ELSE
"金额"
END "金额"
FROM TAB_TEST