Access交流中心

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

如何将两个查询的结果合并到一个查询里?

哈哈  发表于:2011-11-12 21:34:20  
复制

我做了一个数据库计算学生的成绩。由于必修课和选修课在学业总评里占的比重不同,需要分开计算,我分别做了两个查询(名称:必修课平均学分绩、选修课平均学分绩)统计出结果以后,想用一个新查询(名称:学业成绩)把结果合并。但是出了问题:学生小李大一学年第一学期和第二学期都没有上选修课,但是在“学业成绩”这个查询里却有数值,我觉得应该显示“零”或是空着才对啊。不知道怎么回事?!我把示例上传,并把我的疑点标在图片,希望能获得高手们的帮助。谢谢!

 

Top
哈哈 发表于:2011-11-13 13:34:00
附件没传上来?再传一下。点击下载此附件

西出阳关无故人 发表于:2011-11-13 18:01:08

我证明:小李在大二一学期上来选修课。并得了70分



西出阳关无故人 发表于:2011-11-13 18:24:15

合并的sql语法:

SELECT b.姓名, b.专业, b.学年, b.学期, b.必修课平均学分绩之总计 AS 必修课平均学分绩, b.选修课平均学分绩之总计 AS 选修课平均学分绩, [必修课平均学分绩之总计]+[选修课平均学分绩之总计]*0.005 AS 学业成绩
FROM (SELECT A.姓名, A.专业, A.学年, A.学期, Sum(A.必修课平均学分绩) AS 必修课平均学分绩之总计, Sum(A.选修课平均学分绩) AS 选修课平均学分绩之总计
FROM (SELECT 必修课平均学分绩.姓名, 必修课平均学分绩.专业, 必修课平均学分绩.学年, 必修课平均学分绩.学期, 必修课平均学分绩.必修课平均学分绩, 0 AS 选修课平均学分绩 FROM 必修课平均学分绩
UNION SELECT 选修课平均学分绩.姓名, 选修课平均学分绩.专业, 选修课平均学分绩.学年, 选修课平均学分绩.学期, 0 AS 必修课平均学分绩, 选修课平均学分绩.选修课平均学分绩
FROM 选修课平均学分绩) AS A
GROUP BY A.姓名, A.专业, A.学年, A.学期) AS b;



哈哈 发表于:2011-11-17 16:29:01
感谢西出阳关无故人的答复,用你写的SQL语句的确能解决“示例”的问题,但是经过我的修改应用到相对复杂的系统里却运行“溢出”,目前我正在查找原因。

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