行列转置的SQL语句
行列转置的SQL语句
另一种行列转置 -- 动态 sql 交叉表
===========================================================
作者: wxy0327(http://wxy0327.itpub.net)
发表于: 2006.05.10 09:11
分类:
Oracle
出处: http://wxy0327.itpub.net/post/16888/88075
---------------------------------------------------------------
交叉表的概念常在SQL Server中见到,行列转置倒是数据库经常要用到的,尤其是报表。这里给出了一个Oracle的简单实现。
CLASS1 CALLDATE
CALLCOUNT
1 2005-08-08
40
1 2005-08-07
6
2 2005-08-08
77
3 2005-08-09
33
3 2005-08-08
9
3 2005-08-07
21
转置后:
CALLDATE CallCount1
CallCount2 CallCount3
------------ ---------- ---------- ----------
2005-08-09 0 0
33
2005-08-08 40 77
9
2005-08-07 6 0
21
试验如下:
1. 建立测试表和数据
CREATE TABLE t(
class1 VARCHAR2(2 BYTE),
相关文档:
问:怎样在一个UPDATE语句中使用表B的三个列更新表A中的三个列?
答:对这个问题,您可以使用强大的关系代数。本页中的代码说明了如何组合使用from子句和JOIN操作,以达到用其他表中数据更新指定列的目的。在设计关系表达式时,您需要决定是否需要单一行匹配多个行(一对多关系),或者需要多个行匹配被联接表中的单一 ......
遇到先装SQL Server,后改计算机名,做作业的自动执行、服务器复制时遇到错误一样。按以下步骤操作可以修复:
方法一、
1、先查看计算机名:
SELECT @@SERVERNAME As [@@SERVERNAME],
CAST(SERVERPROPERTY('MACHINENAME') AS VARCHAR(128)) + COALESCE('\' + CAST(SERVERPROPERTY('INSTANCENAME') AS VARCHAR(128)), ' ......
sql union用法和sql union all用法,sql union效率
1、sql union用法
sql union在查询中可以将两个SQL 语句的结果合并起来。如果这样看的话, UNION 跟 JOIN 是相似的,两个指令都可以由多个表格中撷取资料。
sql union的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,� ......
参照案例教程建立的数据库管理系统在甚多方面都存在问题。可能是新手,不管是对于大一就学过的VB编程还是这个学期刚接触的SQL,很多小问题常常出现在调试过程中。想请熟悉使用这两个平台的高手帮忙指点一下。
1.如何解决DataGrid中多个column和SQL中多个表的绑定?目的 ......
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效)
oracle的解析器按照从右至左的顺序处理from子句中的表名,from子句中写在最后的表(基础表)将最先被处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基� ......