想了一个,如下:select 系部,班级,课程,节次,姓名,时间, count(*) num form (table(multiset(select 系部,班级,课程,节次,姓名,时间,count(*) num from 学生旷课信息表union allselect 系部,班级,课程,节次,姓名,时间,count(*)/3 num from 学生迟到信息表union allselect 系部,班级,课程,节次,姓名,时间,count(*)/3 num from 学生早退信息表))group by 系部,班级,课程,节次,姓名,时间 另外,不明白为什么要把这几个表单独分开成为四个表。为什么不就建立到一个表中,用一个备注列保存是旷课/请假等 例如:学生旷课信息表(系部,班级,课程,节次,姓名,时间,备注)