0

我无法获得一个可行的查询,其中我可以有多个必需的记录并且存在一个“两个之一”。

我使用的是 Hibernate,hql,sql 显然不会有根本的不同,但这意味着我不能使用完全连接(因此很尴尬)。

我基本上想要什么,但不能,因为我不知道如何混合内部和外部存在调用:

select 1
from  application
where
application = ? and
exists (select 1 from x where ...) and
exists (select 1 from y where ...) and
exists ((exists (select 1 from Document where ...))
or 
(exists (select 1 from QA answer where ...)))

所以我需要 x & y,但只要存在 1,Document 或 QA 都可以接受。

4

1 回答 1

2

像这样的东西?

select 1
from  application
where
application = ? and
exists (select 1 from x where ...) and
exists (select 1 from y where ...) and
(
    exists (select 1 from Document where ...)
    or 
    exists (select 1 from QA answer where ...)
);
于 2012-07-09T11:30:28.350 回答