ORACLE中联接是在on后面出现外部子联接的错误,获取指定日期最近的数据sql
来源:互联网 发布:itools3 for mac 编辑:程序博客网 时间:2024/06/05 14:10
将sql语句包含在select (.....) from dual中,就可以了。
逻辑说明:
单据表体的币制+表头开立日期 关联 汇率维护(原始货币代码、生效日期范围),获取转换率,
然后转换金额至美元后再进行汇总,得到 發票金額(USD) ;若关联不到汇率,则默认以1:1的汇率进行汇总。
获取指定日期最近的数据sql:
MS SQL SERVER,select * from table_namewhere abs(column_name-convert(datetime,'20081220',112)) in (select min(abs(column_name-convert(datetime,'20081220',112))) from table_name)ORACLEselect * from table_namewhere abs(column_name-to_date('20081220','yyyymmdd')) in (select min(abs(column_name-to_date('20081220','yyyymmdd'))) from table_name)oracle中的存储过程:
CREATE OR REPLACE PROCEDURE COST_BILL_INSURE_TOTAL_CALC/************************************************************************* *************************进出保险统计表************************************ *************************AUTHOR:XIN***************************************/(V_EMS_NO VARCHAR2, V_I_E_MARK VARCHAR2, V_INPUTER VARCHAR2, V_REMARK OUT VARCHAR2) ASBEGIN -- DELETE FROM AIPTEK_COST_BILL_INSURE_TOTAL T WHERE T.EMS_NO = V_EMS_NO AND T.I_E_MARK = V_I_E_MARK; -- INSERT INTO AIPTEK_COST_BILL_INSURE_TOTAL (I_E_MARK, BILL_NO, INVOIC_NO, G_NAME, G_QTY, G_TOTAL, INSURE_G_TOTAL, INSURE_RATE, INSURE_COST, TRAF_MODE, TO_FROM_ADD, TRADE_MODE, CUS_CODE, CREATE_DATE, START_ADD, TRAF_TOOLS, EMS_NO, INPUT_ER) SELECT V_I_E_MARK, M.BILL_NO, M.INVOIC_NO, MAX(M.G_NAME), M.TOTAL_QTY, SUM(M.G_TOTAL * NVL(I.TAX, 1)) USD, SUM(M.G_TOTAL * NVL(I.TAX, 1)) * 1.1, 0.00015, SUM(M.G_TOTAL * NVL(I.TAX, 1)) * 1.1 * 0.00015, M.TRAF_MODE, M.TO_FROM_ADD, --目的地 M.TRADE_MODE, --贸易方式 M.CUS_CODE, --报关行 M.CREATE_DATE, --开立日期 '吴江', '', V_EMS_NO, V_INPUTER FROM AIPTEK_VIEW_BILL_MANAGE M LEFT JOIN (SELECT T.ORG_CURR, T.EFF_DATE, T.TAX FROM INFO_CORP_TAX T) I ON I.EFF_DATE IN (SELECT M.CREATE_DATE - (select min(abs(EFF_DATE - M.CREATE_DATE)) from INFO_CORP_TAX) FROM DUAL) AND M.G_CURR = I.ORG_CURR WHERE M.EMS_NO = V_EMS_NO AND M.I_E_MARK = V_I_E_MARK AND M.Trade_Mode = '0615' AND M.ID IS NOT NULL GROUP BY M.OID, M.BILL_NO, M.INVOIC_NO, M.TOTAL_QTY, M.TRAF_MODE, M.TO_FROM_ADD, --目的地 M.TRADE_MODE, --贸易方式 M.CUS_CODE, --报关行 M.CREATE_DATE; --开立日期 COMMIT;EXCEPTION WHEN OTHERS THEN V_REMARK := SQLCODE || SUBSTR(SQLERRM, 1, 200) || 'ERROR:执行存储过程COST_BILL_INSURE_TOTAL_CALC时出错'; ROLLBACK;END COST_BILL_INSURE_TOTAL_CALC;
- ORACLE中联接是在on后面出现外部子联接的错误,获取指定日期最近的数据sql
- 用OCI方式联接oracle时出现 错误的解决方法。
- SQL中表的联接(内联接,左联接,右联接,外联接,交叉联接)
- sql 左联接,右联接,内联接的比较
- sql的联接查询
- SQL的联接方式
- sql的左联接
- Oracle的数据联接方法(转)
- 关于sql中联接的问题
- SQL数据库的联接这符串
- sql 子查询和 联接查询的区别
- SQL 联接--->完整外联接 (完整外部联接 ..full outer join..on)
- SQL Server-外部联接基础
- 外部联接
- mysql联接和子查询的使用
- 【笛卡尔积】sql中交叉联接的误解
- 如何创建一个oracle的数据库联接
- oracle的多表联接查询用法
- 分享一个我为自己而设计的站
- flex
- 彻底理解webservice SOAP WSDL
- 测试Linux平台Inode使用情况的过程命令
- linq 的查询的学习 (google 中输入 101 linq) -- select的应用
- ORACLE中联接是在on后面出现外部子联接的错误,获取指定日期最近的数据sql
- hdu3016 线段树+简单DP
- 使用VS2008创建和调用动态链接库
- AVR 中 delay 函数的调用注意事项!delay_ns delay_ms
- Aodv路由协议——将aodv-uu-0.9.3移植到ARM-LINUX中 (转)
- SELECT group by 查询结果额外增加自动递增序号
- 随机数相关(算法导论5.1.2)
- 删除AD域中的旧账号
- native方法详解