java - 如何在jOOQ中表示连接运算符(||)?

标签 java postgresql jooq

我正在尝试将此查询转换为 jOOQ,但卡在了“||”上我用它来将值连接到数组。

with recursive nodes(node_key, parent_ids, parent_path) as (
    select node_key, array[node_key] as parent_ids, array[name::text] as parent_path
    from node
    where parent_node_key is null
    
    union all
    select c.node_key, parent_ids || c.node_key, parent_path || c.name::text
    from node c
    join nodes n on n.node_key = c.parent_node_key
)
select * from nodes order by parent_path;

到目前为止我已经完成的jOOQ代码:

dsl.withRecursive( name( "nodes" )
                       .fields( "node_key",
                                "parent_ids",
                                "parent_path" ).as(
        select(
            NODE.NODE_KEY,
            array( NODE.NODE_KEY).as( "parent_ids" ),
            array( NODE.NAME).as( "parent_path" )
        )
            .from( NODE)
            .where( NODE.PARENT_NODE_KEY.isNull() )
            .unionAll(
                select( NODE.NODE_KEY,
                        field( "parent_ids" ))
            ) )
) );

如何将值连接到数组?

最佳答案

关于java - 如何在jOOQ中表示连接运算符(||)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68149549/

相关文章:

java - 获取连接到特定节点的所有节点的索引

postgresql - PostgreSql 中的 abstime 和 reltime 有什么区别

postgresql - Postgresql 8.3.1 中的 pg_config

sql - 我可以 DRY SQL 吗?如何在 BEGIN ... COMMIT 中调用两个 SQL 脚本?

java - 使用Jooq的DAOImpl,有没有办法在时间范围内获取?

java - 如何在java中使用运行时类执行多个窗口命令

java - 已经在另一个Thread上运行了,但是仍然抛出android.os.NetworkOnMainThreadException?

java - 在不丢失第一个排序顺序的情况下进行子排序?

java - jOOQ:DataAccessException 和约束

java - 如何在 jOOQ 中为 VisitListener 中的每一行正确地将值添加到 StoreQuery 中?