Oracle的 简单行转列
应个报表要求做个
时间 双色球, 胜负彩。。。。。
200905 销量 销量
200906 销量 销量
200907 销量 销量
200908 销量 销量
一个SQL 语句得到结果是:
f_yearmonth, lot_name,money
200905 双色球 50
200905 胜负彩 100
200906 双色球 60
200906 胜负彩 70
Select f_yearmonth,
Max(decode(f_lotname,'双色球',f_money,0)) As "双色球",
Max(decode(f_lotname,'福彩3D',f_money,0)) as "福彩3D",
Max(decode(f_lotname,'胜负彩',f_money,0)) as "胜负彩",
Max(decode(f_lotname,'时时彩',f_money,0)) as "时时彩",
Max(decode(f_lotname,'时时乐',f_money,0)) as "时时乐",
from
t_tmp_test_A
Group By f_yearmonth
Order By f_yearmonth
关键语句:
Max(decode(f_lotname,'双色球',f_money,0)) As "双色球",
Group By f_yearmonth
应为 按时间重组只有一条,并且只有一条数据: 200905 双色球 50
那么 用MAX取一条数据 就是50
decode 意思说 如果是‘双色球’ 取对应的f_money 并且放在 命名为 "双色球"的 列上。
很显然 这列是固定!
相关文档:
安装oracle 11g以后 无法启动dbconsole 。通过两天的努力终于解决了
1 发现日志报 端口5520已经被占用,无法使用,打开 /%ORACLE_HOME%/oc4j/je22/OC4J_DBConsole_localhost_orcl/config/rmi.xml
发现 port="5520" ssl-port="5520" 端口号使用相同,于是修改 port="5521" ssl-port=" ......
1. create table people (age int, id int);
2. 创建数据文件PeopleDate.txt.
数据为:
20,1
30,2
3. 创建 ......
oracle and sqlsever 常用数学函数对比
数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value ......
This article shows how Oracle's Heterogeneous Services can be configured to allow a database to connect to a Microsoft Access database using standard databases links. The method described can be used to connect to MS-Access from about any platform - Unix/ Linux or Windows.
MS-Access 2003 and Orac ......
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
数据库系统权限(Database System Privil ......