日期:2014-05-18  浏览次数:20456 次

在行转为列的同时,进行数据计算
一个表如下:

REGTYPE | FI_INST | Ttime | LSTATE | SD_VALUE | ST_NAME

======================================================================================================
  0 | M20120000019 | 2012-5-22 21:36:51 | 10001 | 城镇国有土地使用权总登记 | 受理
  0 | M20120000020 | 2012-5-22 21:38:33 | 10001 | 城镇国有土地使用权总登记 | 受理
  0 | M20120000021 | 2012-5-23 15:02:35 | 10008 | 面积变更登记 | 归户
  0 | M20120000021 | 2012-5-23 15:02:35 | 10010 | 更正登记 | 归档


希望转换成

 城镇国有土地使用权总登记 | 面积变更登记 | 地址变更登记 | 更正登记 | Ttime  
 ===================================================================================
  2 件 | 无 | 无 | 无 | 2012-5-22

  无 | 1件 | 无 | 1件 | 2012-5-23

------解决方案--------------------
select 
CONVERT(CHAR(10),TTIME,120) AS TTIME,
SUM(CASE WHEN SD_VALUE='城镇国有土地使用权总登记' then 1 else 0 end) as '城镇国有土地使用权总登记',
.....
from
tb 
group by CONVERT(CHAR(10),TTIME,120)