0

複数の必要なレコードを持つことができ、単一の「2つのうちの1つ」が存在する実行可能なクエリを取得するのに問題があります。

私は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が存在する限り、ドキュメントまたは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 に答える