【发布时间】:2016-07-03 10:17:27
【问题描述】:
创建以下视图时出现错误
create or replace view viewfee as
select unique_id,session,course_cat,course,class,rollno, sum(adm_due) as adm_due, sum(tuition_due) as tuition_due, sum(exam_due) as exam_due from
(
select unique_id,session,course_cat,course,class,rollno,null as adm_due, null as tuition_due, null as exam_due from tbstdinfo
union all
select unique_id,null,null,null,null,null,(adm_tot - sum(adm_payment)) AS adm_due, null, null from tbfeeadmission group by unique_id
union all
select unique_id,null,null,null,null,null,null, (tuition_tot - sum(tuition_payment)) AS tuition_due, null from tbfeetuition group by unique_id
union all
select unique_id,null,null,null,null,null,null, null, (exam_tot - sum(exam_payment)) AS exam_due from tbfeeexam group by unique_id
)x
group by unique_id
但是如果我在没有视图的情况下执行查询,它工作正常
select unique_id,session,course_cat,course,class,rollno, sum(adm_due) as adm_due, sum(tuition_due) as tuition_due, sum(exam_due) as exam_due from
(
select unique_id,session,course_cat,course,class,rollno,null as adm_due, null as tuition_due, null as exam_due from tbstdinfo
union all
select unique_id,null,null,null,null,null,(adm_tot - sum(adm_payment)) AS adm_due, null, null from tbfeeadmission group by unique_id
union all
select unique_id,null,null,null,null,null,null, (tuition_tot - sum(tuition_payment)) AS tuition_due, null from tbfeetuition group by unique_id
union all
select unique_id,null,null,null,null,null,null, null, (exam_tot - sum(exam_payment)) AS exam_due from tbfeeexam group by unique_id
)x
group by unique_id
实际上我需要合并四个表才能在一个表中获取所有所需的记录。请帮忙
【问题讨论】:
-
发布错误信息
-
#1349 - View 的 SELECT 在 FROM 子句中包含子查询
-
创建视图中不能有子查询。查看此解决方法:stackoverflow.com/questions/8428641/…
标签: mysql