日期:2014-05-19  浏览次数:20359 次

两个表求差如何求呀?
比如两个表的结构都是:
车间一产量,车间二产量,车间三产量。
注意,这两个表都只有一条记录!!!

我想将两个表的同一字段差值求出来,放到另一个表中(这个表结构也与前两个表相同。)
如何求呀,我要求字段差,就是横向连接两个表,可是如何连接呀,
select   a.车间一产量-b.车间一产量   as   产量差
from   表一   a   inner   join   表二   on   (关键是这里如何写)

我想硬性连接,因为两个表都是一条记录。可是如何连接呀?


------解决方案--------------------
select sum(车间一产量),sum(车间二产量),sum(车间三产量)
from
(select * from [Table1] Union all select -车间一产量,-车间二产量,-车间三产量 from [Table2]) S
------解决方案--------------------
保证都只有一条记录就不用连接条件
select a.车间一产量-b.车间一产量 as 产量差
from 表一 a cross join 表二 b

------解决方案--------------------
insert 表三
select a.车间一产量-b.车间一产量 as 车间一产量差,
a.车间二产量-b.车间二产量 as 车间二产量差,
a.车间三产量-b.车间三产量 as 车间三产量差
from 表一 a cross join 表二 b

------解决方案--------------------
select tb1.车间一产量 - tb2.车间一产量 车间一产量, tb1.车间二产量 - tb2.车间二产量 车间二产量, tb1.车间三产量 - tb2.车间三产量 车间三产量 from
(
select id = 1 ,车间一产量,车间二产量,车间三产量 from tb1
) t1,
(
select id = 1 ,车间一产量,车间二产量,车间三产量 from tb2
) t2
where t1.id = t2.id