SQL语句或C#往实现 求方法 急
SQL语句或C#去实现 求方法 急~~~~~~~~
例如
表A里面有以下列
姓名 科目 分数 日期
小A 语文 90 2013-1-1
小A 数学 91 2013-1-1
小A 英语 92 2013-1-1
小A 语文 90 2013-2-2
小A 数学 91 2013-2-2
小A 英语 92 2013-2-2
小C 语文 93 2013-1-1
小C 数学 94 2013-1-1
小C 英语 95 2013-1-1
小C 语文 93 2013-2-2
小C 数学 94 2013-2-2
小C 英语 95 2013-2-2
如何用sql语句或C#程序 实现如下格式
姓名 日期 语文 数学 英语
小A 2013-1-1 90 91 92
小A 2013-2-2 90 91 92
小C 2013-1-1 93 94 95
小C 2013-2-2 93 94 95
------解决方案--------------------
例如
表A里面有以下列
姓名 科目 分数 日期
小A 语文 90 2013-1-1
小A 数学 91 2013-1-1
小A 英语 92 2013-1-1
小A 语文 90 2013-2-2
小A 数学 91 2013-2-2
小A 英语 92 2013-2-2
小C 语文 93 2013-1-1
小C 数学 94 2013-1-1
小C 英语 95 2013-1-1
小C 语文 93 2013-2-2
小C 数学 94 2013-2-2
小C 英语 95 2013-2-2
如何用sql语句或C#程序 实现如下格式
姓名 日期 语文 数学 英语
小A 2013-1-1 90 91 92
小A 2013-2-2 90 91 92
小C 2013-1-1 93 94 95
小C 2013-2-2 93 94 95
------解决方案--------------------
with tbA as
(
select 'A' xm,'语文' km,90 fs,date'2013-01-01' rq from dual union all
select 'A' xm,'数学' km,91 fs,date'2013-01-01' rq from dual union all
select 'A' xm,'英语' km,92 fs,date'2013-01-01' rq from dual union all
select 'A' xm,'语文' km,90 fs,date'2013-02-01' rq from dual union all
select 'A' xm,'数学' km,91 fs,date'2013-02-01' rq from dual union all
select 'A' xm,'英语' km,92 fs,date'2013-02-01' rq from dual
)
select xm "姓名",rq "日期",
sum(decode(km,'语文',fs,0)) "语文",
sum(decode(km,'数学',fs,0)) "数学",
sum(decode(km,'英语',fs,0)) "英语"
from tbA
group by xm,rq
order by xm,rq
姓名 日期 语文 数学 英语
------------------------------------------------------------
1 A 2013/1/1 90 91 92
2 A 2013/2/1 90 91 92