我现在要作一个sql判断赋值语句,有四列值要从以一个指标ioper字段的值来判断赋值,而这4列值又是从同一个字段mny中取得,规则如下:
ioper值分别是 :0,1,2,3
mny的取值规则:是当ioper为0时,mny字段的值是赋值给"销售面积"列
是当ioper为1时,mny字段的值是赋值给"套数"列
是当ioper为2时,mny字段的值是赋值给"均价"列
是当ioper为3时,mny字段的值是赋值给"销售收入"列0销售面积 1套数 2均价 3销售收入(万元)
请教这个SQL语句要怎么写
ioper值分别是 :0,1,2,3
mny的取值规则:是当ioper为0时,mny字段的值是赋值给"销售面积"列
是当ioper为1时,mny字段的值是赋值给"套数"列
是当ioper为2时,mny字段的值是赋值给"均价"列
是当ioper为3时,mny字段的值是赋值给"销售收入"列0销售面积 1套数 2均价 3销售收入(万元)
请教这个SQL语句要怎么写
解决方案 »
- 一张表成树状结构查询子数据数量
- exp问题
- 缴费号码相同 金额不同 怎么样找出这样的记录呢
- PLSQL报 ORA-12514错误.求助
- Oracle中关于权限的问题
- 如何记录分割?
- c++怎样访问数据库
- ORA-02042: too many distributed transactions
- 建议csdn增加一个功能,就是在发帖的时候让发帖者设定预计结帖日期,让结帖者承诺在什么时候结帖,到期不结帖者就扣除此人的信誉分。跟贴
- oracle12c安装过程出现oracle database configutation assistant
- 如何将一个表中检索的值作为另一个表的字段列表?
- 关于索引和唯一约束的问题
WITH TB AS
(
SELECT '万科' AS house_name,0 AS ioper , 300 AS mny FROM DUAL
UNION
SELECT '万科' AS house_name,1 AS ioper , 1 AS mny FROM DUAL
UNION
SELECT '万科' AS house_name,2 AS ioper , 10000 AS mny FROM DUAL
UNION
SELECT '万科' AS house_name, 3 AS ioper, 30 AS mny FROM DUAL
UNION
SELECT '华侨城' AS house_name,0 AS ioper , 100 AS mny FROM DUAL
UNION
SELECT '华侨城' AS house_name,1 AS ioper , 2 AS mny FROM DUAL
UNION
SELECT '华侨城' AS house_name,2 AS ioper , 20000 AS mny FROM DUAL
UNION
SELECT '华侨城' AS house_name, 3 AS ioper, 40 AS mny FROM DUAL
)SELECT
HOUSE_NAME,
SUM(DECODE(T.ioper,0,T.mny,0)) AS 面积,
SUM(DECODE(T.ioper,1,T.mny,0)) AS 套数,
SUM(DECODE(T.ioper,2,T.mny,0)) AS 均价,
SUM(DECODE(T.ioper,3,T.mny,0)) AS 销售收入_万元
FROM TB T
GROUP BY HOUSE_NAME
华侨城 100 2 20000 40
万科 300 1 10000 30
HOUSE_NAME,
SUM(DECODE(T.ioper,0,T.mny,0)) AS 面积,
SUM(DECODE(T.ioper,1,T.mny,0)) AS 套数,
SUM(DECODE(T.ioper,2,T.mny,0)) AS 均价,
SUM(DECODE(T.ioper,3,T.mny,0)) AS 销售收入_万元
FROM TB T
GROUP BY HOUSE_NAME如果是统计可以用上面的方法做。