0
私はLinQConnect経由でユーザがログインするC#プログラムを取得しました。ユーザがpostgresqlで特定のロールを持っている場合、0,1または2
私は今、0を返すのSQLQueryを必要とする1または2
select rolname
from pg_user a
join pg_auth_members b on (a.usesysid=b.member)
join pg_roles c on (c.oid=b.roleid)
where
a.usename='USERNAME'
ユーザーがロールにある場合は、「RoleA」ユーザーがロールである場合、私は、1を返すようにしたい「RoleB」私は戻りたいです2人の場合は、とにかく2を再試行したいと思います。ユーザーがどちらの役割も果たさない場合は、0を返します。
私はコード内の返されたロールをチェックしてから、特定の番号を取得することはできますが、クエリで0,1または2を返すことはできますか?
EDIT:
私が追加:
max(case when rolname = 'RoleA' then '1'
when rolname = 'RoleB' then '2'
else '0'
end) // added max(), now it returns only 2 if im in both Roles
CASEステートメントは動作するはずです –
サンプルテーブルのデータと予想される結果を追加します。 (フォーマットされていないテキストとして、画像ではありません) – jarlh
@MartinCook、あなたは 'case' _expression_を意味します。 – jarlh