带有大小写 if 字段为空的 HQL Where 子句



我在 2 个表之间的连接中有一个HQL查询,field1可能是空的或值。

如果它在第一个表中为 null,我必须检查

第二个表中是否"为 null",但如果它带有值,我必须检查是否table1.field1=table1.field1

如何使用 HQL 中的"案例何时"执行此操作?

我认为 HQL 查询应该是这样的:

SELECT t1 FROM Table1 t1, Table2 t2
WHERE t1.t2 = t2 AND
t1.field1 = (CASE WHEN t2.field1 is null THEN NULL ELSE t2.field1 END)

最新更新