【发布时间】:2011-12-04 08:48:18
【问题描述】:
我目前正在尝试使用 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 中有一行以将其作为布尔值传递给自定义构造函数,我还能做些什么来获取知识?
当然可以提供更多信息。
【问题讨论】:
-
你的代码没有多大意义。请仔细阅读en.wikipedia.org/wiki/Join_%28SQL%29 以了解适合您的情况。
-
我试图将我的问题简化为问题的核心,并去掉了许多额外的代码,否则这些代码会使整个查询变得不可读。我并没有真正检查逻辑。