2017-05-08 12 views
1

特定の権限グループの一部である権限のみを選択しようとしています。それらは、リレーショナル表で一緒にビニングされます。私がこれをしようとしている方法は、サブクエリでWHERE EXISTSを使うことです。 where SQLが正常に動作しない - H2 Db

select * 
from permissions 
where exists (select 'x' 
       from rel_sets_permission 
       where pset_id = :id); 

問題

は、リレーショナルテーブルのidの少なくとも一つの発生があれば、それはそのように思えるということですが、私は権限のすべての主要なクエリの結果として取得します。 私は助言が必要です。なぜなら私はどこの存在の論理を見ていて、その目的は私がそれを使うケースであるべきです。 私はH2データベースで作業しています。

+1

何か。テーブルがどのように見えるか分からなければ、それ以上の提案をするのは難しいです。 –

+1

@ GordonLinoff Well権限には多くの属性があり、relation表には独自の代理ID、アクセス権ID、アクセス権セットIDしかありません。 – Tacker529

+1

'Xからa、b、cを選択します(Y WHERE Y.p = X.dから1を選択してください); – wildplasser

答えて

0

問題の答えはコメントに記載されています。サブクエリに加えて相関句が追加されました。あなたはサブクエリの相関句を必要とするフォーム

WHERE rel_sets_permission.pset_id = permissions.id 
関連する問題