表2如果增加一个字段就好处理了,否则只能使用存储过程。假设增加字段,IndexNoSelect 表1.编号, Max(Case when IndexNo=1 then 选课 else null end) as 选课1, Max(Case when IndexNo=2 then 选课 else null end) as 选课2, Max(Case when IndexNo=3 then 选课 else null end) as 选课3from 表1,表2where 表1.编号=表2.编号group by 表1.编号-------------------------------access不支持case when ,但可以使用iif函数,Max( iif(IndexNo=1,选课,null) )
select TAB.编号, MAX(case when TAB.选课='语文' then TAB.选课 else null end) 选课1, MAX(case when TAB.选课='数学' then TAB.选课 else null end) 选课2, MAX(case when TAB.选课='化学' then TAB.选课 else null end) 选课3, ... ... from ( select 表1.编号,表2.选课 from 表1,表2 where 表1.编号=表2.编号 ) TABgroup by TAB.编号