以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39171) |
||||
-- 作者:良才 -- 发布时间:2013/8/17 12:32:00 -- 窗口查询
管理项目2有三张表分别是:学费信息、餐费信息、车费信息,在窗口1_Table1查询学费信息所有学生,添加在籍、午餐、接送列,并在对应学生姓名的行打 √,如果学生是在籍列有√、午餐、接送列为空,这个学生发 绿牌。如果学生是在籍列有√、午餐√、接送列为空,这个学生发 黄牌。如果学生是在籍列有√、午餐√、接送√,这个学生发 红牌。 查询结果应该是下图:
请高手指教 谢谢 |
||||
-- 作者:lsy -- 发布时间:2013/8/17 14:04:00 --
|
||||
-- 作者:Bin -- 发布时间:2013/8/17 14:20:00 -- 内部表或者ACCESSS select a.学期,a.学生编号,a.学生姓名,IIF((select Count(b.学生姓名) from {餐费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期)=0,\'\',\'√\') as 午餐,IIF((select Count(b.学生姓名) from {车费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期)=0,\'\',\'√\') as 接送,IIF(午餐=\'√\' and 接送=\'√\',\'红牌\',IIF(午餐=\'\' and 接送=\'\',\'绿牌\',\'黄牌\')) as 校牌颜色 from {学费信息} a MSSQL select a.学期,a.学生编号,a.学生姓名,case (select Count(b.学生姓名) from {餐费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期) when 0 then \'\' else \'√\' as 午餐,case (select Count(b.学生姓名) from {车费信息} b where b.学生编号=a.学生编号 and b.学期=a.学期) when 0 then \'\' else \'√\' as 接送, case 午餐=\'√\' and 接送=\'√\' then \'红牌\' case 午餐=\'\' and 接送=\'\' then \'绿牌\' else \'黄牌\' as 校牌颜色 rom {学费信息} a
[此贴子已经被作者于2013-8-17 14:32:39编辑过]
|
||||
-- 作者:lsy -- 发布时间:2013/8/17 14:57:00 -- 三张表合成一张表,什么都有了。 那么多表,效率不高。 |
||||
-- 作者:良才 -- 发布时间:2013/8/18 9:04:00 -- 谢谢 |
||||
-- 作者:良才 -- 发布时间:2013/8/20 18:06:00 -- 窗口查询 e.Form.Controls("Label1").text = Tables("学生校牌_Table1").Current("学期")& "人数: " & Tables("学生校牌_Table1").Compute("count(IsNull(午餐, 0))")& " 人" 我想统计字符“午餐”列,有空值代码这样写,我这样写是错误count(IsNull(午餐, 0) 。请高手指教,谢谢! [此贴子已经被作者于2013-8-20 18:19:56编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/8/21 8:44:00 -- Tables("学生校牌_Table1").Compute("count(午餐)","午餐 IS NULL") & " 人" |