gpt4 book ai didi

java - JQPL : Create new Object within the Query from multiple tables

转载 作者:搜寻专家 更新时间:2023-10-30 23:20:03 24 4
gpt4 key购买 nike

我目前正在尝试使用 JQPL 获取数据。我的查询看起来像

SELECT NEW com.test.CustomObject(t1.name, CASE WHEN(t2 IS NOT NULL) THEN true ELSE false END) FROM table1 t1, table2 t2 WHERE t1.id = :id1 AND t2.id = :id2

当然这两个实体本身存在,查询其中一个是有效的。使用固定值查询也可以:

SELECT NEW com.test.CustomObject(t1.name, false) FROM table1 t1 WHERE t1.id = :id1

我的问题是,如果 :id2 具有不存在的值,我将不会收到任何返回值。行本身被完全省略,而不是给 CustomObject 构造函数提供 false。

如果参数 id2 在 table2 中有一行以将其作为 boolean 值传递给自定义构造函数,我还能做些什么来获取知识?

当然可以提供更多信息。

最佳答案

您必须使用 LEFT (OUTER) JOIN 从表 1 连接到表 2。当连接的右侧不存在时,这将导致左侧成为结果的一部分。在这种情况下,来自右侧的值(例如 t2.id)具有空值。

此外,将 id 设置为参数两次也没有意义(假设您想要的是 t1.id=t2.id)。只需使用 join 并设置一次 id 参数。

关于java - JQPL : Create new Object within the Query from multiple tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com