第1个回答 2011-07-07
create table c as
select a.cr-isnull(b.cr,0) cr,a.zc-isnull(b.zc,0) zc ,a.lx lx from a leftjoin b on a.lx=b.lx
我没有在数据库上测试,所以可能不能直接用,看着修改下就好,大体应该没问题
第2个回答 2011-07-07
CREATE TABLE #A (
cr INT,
zc INT,
lx INT
)
go
INSERT INTO #A
SELECT 100, 100, 1 union all
SELECT 90 , 80, 2 union all
SELECT 70 , 80, 3
GO
CREATE TABLE #B (
cr INT,
zc INT,
lx INT
)
go
INSERT INTO #B
SELECT 50, 50, 1 UNION ALL
SELECT 10, 20, 3
go
SELECT
ISNULL(a.cr, 0) - ISNULL(b.cr, 0) AS cr,
ISNULL(a.zc, 0) - ISNULL(b.zc, 0) AS zc,
ISNULL(a.lx, b.lx) AS lx
FROM
#A a FULL JOIN #B b ON (a.lx = b.lx)
go
cr zc lx
----------- ----------- -----------
50 50 1
90 80 2
60 60 3
(3 行受影响)本回答被提问者采纳