關於CASE WHEN ... THEN ... END的SQL使用例子
2011-03-02 08:31
225 查看
SELECT A.ORG_ID, A.SALES_ID, A.SALES_TYPE, A.INV_DATE, A.INVOICE_NO, A.INV_TYPE, A.TAX_KIND,A.PAY_CUSTID, A.MONEY_UNIT, A.PAY_NO,A.AR_PERIOD,A.PL_AR_DATE, A.CLAIM_NO,A.STATUS, A.SALES_NO, A.SALES_DATE, A.SE_ID, A.PO, A.OTYPE, (CASE WHEN (B.PAY_TYPE=1 AND ARDAY_NUM > TO_CHAR(INV_DATE,'DD') ) THEN TO_DATE(TO_CHAR(INV_DATE,'YYYYMM')||LPAD(ARDAY_NUM,2,'0'),'YYYY/MM/DD') ELSE CASE WHEN (B.PAY_TYPE=1 AND ARDAY_NUM<= TO_CHAR(INV_DATE,'DD') ) THEN ADD_MONTHS(TO_DATE(TO_CHAR(INV_DATE,'YYYYMM')||LPAD(ARDAY_NUM,2,'0'),'YYYY/MM/DD'),1) ELSE CASE WHEN (B.PAY_TYPE=2) THEN TRUNC(NEXT_DAY(INV_DATE,ARDAY_NUM+1)) END END END ) AR_DATE, SUM(QTY)QTY, SUM(NET_MONEY) MONEY FROM VW_AR_SALES A, CR_CUST_AR B WHERE A.SALES_TYPE=1 AND A.STATUS =2 AND A.REQ_MARK='Y' AND A.AR_ID IS NULL AND A.ORG_ID=B.ORG_ID AND A.PAY_CUSTID=B.CUST_ID AND B.O_TYPE= A.OTYPE GROUP BY A.ORG_ID, A.SALES_ID, A.SALES_TYPE, A.INV_DATE, A.INVOICE_NO, A.INV_TYPE, A.TAX_KIND,A.PAY_CUSTID, A.MONEY_UNIT, A.PAY_NO,A.AR_PERIOD,A.PL_AR_DATE, A.CLAIM_NO,A.STATUS, A.SALES_NO,A.SALES_DATE, A.SE_ID, A.PO, A.OTYPE,A.UNIT_PRICE,A.MONEY,B.PAY_TYPE,ARDAY_NUM
相关文章推荐
- sql 语句中使用条件判断case then else end
- SQL Case When Then Else End的使用收集
- hibernate分组与聚合查询(原生sql和使用case when then else end的hql)
- t-sql - try catch的使用简单例子
- sql2005 存储过程使用 事务 和 游标 例子
- SQL条件控制(case when...then...else...end) 详细解释
- Oracle教程之sql loader使用例子
- 关于sql时间函数的一些简单的例子(本机本地时间,国外服务器不能使用)
- SQL优化基础 使用索引(一个小例子)
- Oracle中,常用SQL语句使用和例子
- sql case when then else end
- [Oracle] SQL*Loader 详细使用教程(5)- 典型例子
- SQL优化基础 使用索引(一个小例子)
- Biztalk中使用SQL适配器获取数据并用web服务发布的例子
- SQL中的case when then else end用法(转载)
- access中相当于sql中case when end 的使用
- SQL条件控制(case when...then...else...end)用法描述
- 关于SQL的一些使用例子
- SQL语句使用经典例子
- 【sql】之case when then else end