用到的字段:
materialtype 物资类别(材料,机电);barsumcash 金额;barmontype 币种 (RMB,USD,EUR)
thisyear 当年的1月1号 (xxxx-01-01);
thismonth 当月的1月1号 (xxxx-xx-01);
thisdate 当前时间 sysdate;
表是:purchase;需要的结果是: 1当年中 材料的 rmb总金额,usd总金额,eur总金额
2当年中 机电的 rmb总金额,usd总金额,eur总金额
3当月中 机电的 rmb总金额,usd总金额,eur总金额
4当月中 机电的 rmb总金额,usd总金额,eur总金额需要返回 2列 12行的数据集,一列是 总金额值,一列是 这个金额的标示
(如 JMRMB 表示 机电,当月,rmb总金额;CYRMB 表示材料,当年,rmb总金额)
materialtype 物资类别(材料,机电);barsumcash 金额;barmontype 币种 (RMB,USD,EUR)
thisyear 当年的1月1号 (xxxx-01-01);
thismonth 当月的1月1号 (xxxx-xx-01);
thisdate 当前时间 sysdate;
表是:purchase;需要的结果是: 1当年中 材料的 rmb总金额,usd总金额,eur总金额
2当年中 机电的 rmb总金额,usd总金额,eur总金额
3当月中 机电的 rmb总金额,usd总金额,eur总金额
4当月中 机电的 rmb总金额,usd总金额,eur总金额需要返回 2列 12行的数据集,一列是 总金额值,一列是 这个金额的标示
(如 JMRMB 表示 机电,当月,rmb总金额;CYRMB 表示材料,当年,rmb总金额)
解决方案 »
- 以下ORACLE语句想转换到MYSQL上,请问我这样替换对吗?
- oracle中,设定varchar2长度为4000,(最大只能存4000),为什么存到1333就不行了,多一个都不行,报 ORA-01480:trailling
- 建表的问题
- 急:Oracle10g下创建表空间的问题
- 关于使用恢复目录进行备份的问题
- 触发器问题 急!
- 不知道怎么样将下列SQL语句转成标准ORACLE呢?我对数据类型不熟...请大家帮帮忙
- 请教触发器的问题!!!!!!!!
- 关于oracle的启动的问题,疑惑
- 求sql优化大神降临。
- parse=full与parse=none/partial的转换错误
- oracle服务器可以做客户端用吗
因为我不知道你thisyear和thismonth是字符型的还是日期型的
select decode(t.materialtype,'材料','CY','JY')||barmontype,sum(barsumcash)
from purchase t
where t.thisyear=to_char(sysdate,'yyyy')||'-01-01'
group by decode(t.materialtype,'材料','CY','JY')||barmontype
union all
select decode(t.materialtype,'材料','CM','JM')||barmontype,sum(barsumcash)
from purchase t
where t.thismonth=to_char(sysdate,'yyyy-mm')||'-01'
group by decode(t.materialtype,'材料','CM','JM')||barmontype
1000 JMRMB 机电当月人民币金额
2000 JMEUR 机电当月欧元金额
3000 JMUSD 机电当月美元金额
4000 JYRMB 机电当年人民币金额
5000 JYUSD 机电当年欧元金额
6000 JYEUR 机电当年美元金额
7000 CMRMB 材料当月人民币金额
8000 CMEUR 材料当月欧元金额
9000 CMUSD 材料当月美元金额
10000 CYRMB 材料当年人民币金额
11000 CYEUR 材料当年欧元金额
12000 CYUSD 材料当年美元金额需要的是第一列和第二列!!!