Oracle connect by level在DB2中怎么转换

SELECT a.x xs    , nvl (b.y, 0) yFROM (SELECT to_char (to_date (?, 'yyyy-MM-dd') + (LEVEL - 1), 'yyyy-MM-dd') x      FROM dual CONNECT BY TRUNC (to_date (?, 'yyyy-MM-dd') + LEVEL - 1) = ? AND to_char (h.createdate, 'yyyy...显示全部
SELECT a.x xs
    , nvl (b.y, 0) y
FROM (SELECT to_char (to_date (?, 'yyyy-MM-dd') + (LEVEL - 1), 'yyyy-MM-dd') x
      FROM dual CONNECT BY TRUNC (to_date (?, 'yyyy-MM-dd') + LEVEL - 1) <= TRUNC (to_date (?, 'yyyy-MM-dd'))) a
    , (SELECT t.x
           , count (1) y
       FROM (SELECT to_char (a.x, 'yyyy-MM-dd') x
             FROM (SELECT h.createdate x
                   FROM wfl_taskinfo_his h
                   WHERE h.tradeno IN ('000040', '000080') AND to_char (h.createdate, 'yyyy-MM-dd') >= ? AND to_char (h.createdate, 'yyyy-MM-dd') <= ?) a) t
       GROUP BY t.x) b
WHERE b.x ( +) = a.x
ORDER BY a.x asc;
这个是Oracle下的sql可以执行,但是我现在要转换成DB2下可执行的SQL,上面的伪劣level和connect by怎么转换啊?,还有一些函数DB2也不支持,求指教!!!收起
参与14

查看其它 10 个回答shadowflare的回答

shadowflareshadowflare软件开发工程师交通银行

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0510rielau/

这篇文章讲了如何利用db2的with语法实现oracle中的connect by功能。

银行 · 2016-04-25
浏览1487

回答者

shadowflare
软件开发工程师交通银行

shadowflare 最近回答过的问题

回答状态

  • 发布时间:2016-04-25
  • 关注会员:2 人
  • 回答浏览:1487
  • X社区推广