<table>
<thead>
<tr><td>姓名</td><td>sFsource</td><td>sSsource</td><td>sCsource<td><td>sFsource</td><td>DiyTime</td></tr>
<thead>
<tbody>
<tr><td>张三</td><td>80</td><td>80</td><td>80<td><td>90</td><td>第二学期</td></tr>
<tr><td>李四</td><td>87</td><td>69</td><td>43<td><td>92</td><td>第一学期</td></tr>
<tr><td>张三</td><td>61</td><td>89</td><td>91<td><td>90</td><td>第一学期</td></tr>
<tr><td>李四</td><td>83</td><td>87</td><td>95<td><td>95</td><td>第二学期</td></tr>
</tbody>
</table>上面的是一个表的结构和里面填充的数据,要执行t-sql语句,实现到下面的现实方式:<table>
<thead>
<tr><td>姓名</td><td>第一学期</td><td>第二学期</td></tr>
<thead>
<tbody>
<tr><td>张三</td><td>331</td><td>330</td></tr>
<tr><td>李四</td><td>291</td><td>360</td></tr>
</tbody>
</table>希望t-sql指点!

解决方案 »

  1.   

    select 姓名, sum( case when diytime = '第一学期' then sFsource + sSsource + sCsource + sFsource else 0 end ) as '第一学期', sum( case when diytime = '第二学期' then sFsource + sSsource + sCsource + sFsource else 0 end ) as '第二学期'
     from table
     group by 姓名
      

  2.   

    select 姓名, sum( case when diytime = '第一学期' then sFsource + sSsource + sCsource + sFsource else 0 end ) as '第一学期', sum( case when diytime = '第二学期' then sFsource + sSsource + sCsource + sFsource else 0 end ) as '第二学期' 
     from table 
     group by 姓名