====
SELECT *
FROM za
SELECT *
FROM zb
SELECT za.学号, za.姓名, zb.分数 AS Basic, zb_1.分数 AS C语言, zb_2.分数 AS 数据库, zb_3.分数 AS Java, (zb.分数 + zb_1.分数 + zb_2.分数 + zb_3.分数)
/ 4 AS 平均分
FROM za INNER JOIN
zb ON za.学号 = zb.学号 INNER JOIN
zb AS zb_1 ON za.学号 = zb_1.学号 INNER JOIN
zb AS zb_3 ON za.学号 = zb_3.学号 INNER JOIN
zb AS zb_2 ON za.学号 = zb_2.学号
WHERE (zb.课程 = 'BASIC') AND (zb_1.课程 = 'C语言') AND (zb_2.课程 = '数据库') AND (zb_3.课程 = 'JAVA')
====
==========
除分数是INT外 其他全是 NVCHAR
select 学号,姓名,max(case when 课程='Basic' then 分数 end)as 'Basic',
max(case when 课程='C语言' then 分数 end)as'C语言',max(case when 课程='数据库' then 分数 end)as'数据库',max(case when 课程='JAVA' then 分数 end)as'JAVA',AVG(score)as ‘平均分’
from
(select a.学号,a.姓名,b.课程,b.分数
from table1 as a
inner join table2 as b
on a.学号=b.学号)as aa
where 学号='20110201008'
group by 学号,姓名
可把表结构贴出来,帮你写查询