Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

一个表减去另一个表

萧朋  发表于:2008-04-28 19:18:46  
复制

表1

员工号 姓名 成绩

001   张三  70

002   张四  80

003   王五  90

004   王三  100 

表2

员工号 姓名 成绩

001    张三 80

002    张四 85

003   王五  98

004   王三  100

005   李二  90

006   李鹏  90

    要得出:表2-表1

员工号 姓名 成绩

001    张三 10

002    张四 5

003   王五  8

004   王三  0

005   李二  90

006   李鹏  90怎么能得到??谢谢!!

 

Top
十段 发表于:2008-04-29 02:59:19

方法1、最简单直接方法是用不匹配链接,代码如下:

SELECT 表2.员工号, 表2.姓名, 表2.成绩 AS 成绩1, 表1.成绩, nz([表2]![成绩])-nz([表1]![成绩]) AS 表达式1
FROM 表1 RIGHT JOIN 表2 ON 表1.员工号 = 表2.员工号;

结果见下图:

方法2:用联合查询的方式,具体操作如下:

1、在查询中建一新表取名为查询7,写入如下代码:

SELECT 员工号, 姓名,-1*成绩 AS 成绩1 from 表1

UNION SELECT 员工号, 姓名,成绩 AS 成绩1 from 表2;

会出现下图的结果:


2、在查询中再建一新表取名为查询8,进行合计,见下图:

会出现下图的结果:

综合方法2的操作过程,见如下图示:

第二种方法,比较繁些。

 

两种方法供你参考。



萧朋 发表于:2008-04-29 08:21:19

多谢了,以后还请多多指教。。。。。。。。。。。。。



总记录:2篇  页次:1/1 9 1 :