34,587
社区成员
发帖
与我相关
我的任务
分享
-- 确认一下两张表的 je 列,数据类型是否完全一样,
-- 给你一个不一样的例子
create table table1(je decimal(18,0) , type int)
go
create table table2(je decimal(18,2) , type int)
go
insert into table1 values(100,1),(200,1)
go
insert into table2 values(1.5 , 1), (1.3,1) , (1.4,2)
go
select * from table1
go
select * from table2
go
select sum(t.je) from(
select sum(je) je from table1
union all
select sum(je) je from(
select sum(table2.je) je from table2 where type = 1
union all
select 0-sum(table2.je) je from table2 where type = 2
) tab
) t
go
select sum(t.je) from
(
select sum(je) je from table1
union all
select sum(table2.je) je from table2 where type = 1
union all
select 0-sum(table2.je) je from table2 where type = 2
) t
go
drop table table1,table2
go
(2 行受影响)
(3 行受影响)
je type
--------------------------------------- -----------
100 1
200 1
(2 行受影响)
je type
--------------------------------------- -----------
1.50 1
1.30 1
1.40 2
(3 行受影响)
---------------------------------------
301
(1 行受影响)
---------------------------------------
302
(1 行受影响)