【发布时间】:2014-03-08 22:48:44
【问题描述】:
我正在使用以下 sql 为方法编写单元测试
WITH temptab(
i__id , i__name, i__effective, i__expires, i__lefttag, i__righttag,
hier_id, hier_dim_id, parent_item_id, parent_hier_id, parent_dim_id,
ancestor, h__id, h__name, h__level, h__effective, h__expires, rec_lvl)
AS (
SELECT
item.id as i__id,
item.name as i__name,
item.effectivets as i__effective,
item.expirests as i__expires,
item.lefttag as i__lefttag,
item.righttag as i__righttag,
hier_id, hier_dim_id,
parent_item_id,
parent_hier_id,
parent_dim_id, 1 as ancestor,
hier.id as h__id, hier.name as h__name,
hier.level as h__level, hier.effectivets as h__effective,
hier.expirests as h__expires, 1 as rec_lvl FROM metro.item item,
metro.hierarchy hier WHERE item.id = 'DI' AND hier_id = '69' AND hier_dim_id= '36' AND hier.id =item.hier_id
)
SELECT
i__id, i__name, i__effective, i__expires, i__lefttag,
i__righttag, hier_id, hier_dim_id, parent_item_id,
parent_hier_id, parent_dim_id, ancestor,
h__id, h__name, h__level, h__effective, h__expires
FROM temptab
此查询返回空数据集,但我希望有 1 行。
数据是正确的,因为没有 with 子句的类似简单查询可以正常工作。
我调查了这个问题,我发现了
Sub Query with WITH-CLAUSE in H2DB
但该解决方案没有帮助。
那么,有人知道H2是如何支持with子句的吗?
提前感谢您的宝贵时间。
【问题讨论】:
-
h2 only 支持递归 CTE。它不支持常规 CTE
标签: sql h2 with-statement