涉及到动态生成字段的问题,用一条SQL我不会不过有个笨办法:SELECT STU_NAME,
SUM(L001) AS "语文(分数)",
SUM(L002) AS "数学(分数)",
SUM(L003) AS "英语(分数)",
SUM(L004) AS "物理(分数)",
SUM(L005) AS "化学(分数)"
FROM (
SELECT A.STU_NAME,DECODE(C.LES_ID,'L001',C.STORE,0) AS L001,
DECODE(C.LES_ID,'L002',C.STORE,0) AS L002,
DECODE(C.LES_ID,'L003',C.STORE,0) AS L003,
DECODE(C.LES_ID,'L004',C.STORE,0) AS L004,
DECODE(C.LES_ID,'L005',C.STORE,0) AS L005
FROM 学生表 A 
INNER JOIN 分数表 C ON (A.STU_ID=C.STU_ID)
) GROUP BY STU_NAME
/