将数据排入列

时间:2015-08-17 07:59:04

标签: sql sql-server sql-server-2008

我有这个学生名单,我想把日期记录作为专栏

enter image description here

我希望结果是这样的 enter image description here

1 个答案:

答案 0 :(得分:0)

SQL查询要求您知道要预先选择的列。如果您确切知道预期的日期,则可以使用Pivot或条件聚合将它们选为列:

select
  max(case when date = {d '2015-08-01'} then student_id end) as date20150801,
  max(case when date = {d '2015-08-02'} then student_id end) as date20150802,
  ...
from mytable
group by student_id;

但是,通常情况下,您只需将数据选择为带有SQL的行,并将表示关注为使用GUI语言(Java,C#,PHP等)的网格中的列。