我正在用下面的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子句的吗?
提前感谢您的宝贵时间。
发布于 2018-10-12 21:32:41
它现在也支持非递归查询的http://www.h2database.com/html/grammar.html。
发布于 2014-10-10 17:52:41
根据以下内容:h2 database grammar
看起来H2数据库中不支持WITH子句,除了对递归查询的实验性支持:h2 recursive queries
https://stackoverflow.com/questions/21696964
复制相似问题