应个报表要求做个
时间 双色球, 胜负彩。。。。。
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 并且放在 命名为 "双色球"的 列上。
很显然 这列是固定!