随笔分类 -  SQL

分时段统计用户好中差评
摘要:项目中有这样一个需求:分时段显示用户的好评、中评、差评,如图所示:在MSSQL2005之后,MS给出两个运算符: PIVOT和UNPIVOT,文档给出的说明是:可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值。利用这两个运算符可方便得到想要的结果,你还在使用大量的CASE..WHEN..THEN吗?贴上具体的SQL: 1 CREATE TABLE ##Rep( 2 阅读全文
posted @ 2012-01-16 00:49 k&H 阅读(268) 评论(0) 推荐(0)
.NET下向Oralce 10g表批量导入数据
摘要:.Net2.0提供了SqlBulkCopy 类。使用SqlBulkCopy类向 SQL Server 表写入数据,数据源不限于 SQL Server,可以使用任何数据源,只要数据可加载到DataTable实例或可使用IDataReader实例读取数据。Oracle 11g同样提供了类似的做法。在Oracle.DataAccess.dll(2.112.1.0)中,oracle提供了OralceBulkCopy类,实现了向Oracle表写入数据。但是现阶段,很多项目还在使用Oracle 10g。在Oracle 10g下并不能使用这一新特性。(本人已经试过加载Oralce11g中的Oracle.Da 阅读全文
posted @ 2011-12-02 22:39 k&H 阅读(575) 评论(0) 推荐(0)