次の SQL クエリがあります。複数のグループに属するユーザーを選択します。各グループは、プログラムに対して異なる、または場合によっては同じ権限を持っています。
SELECT app_name, priv_access, priv_insert, priv_delete, priv_update, priv_export, priv_print
FROM news_sec_groups_apps
WHERE group_id IN (SELECT group_id
FROM news_sec_users_groups
WHERE login = 'test2')
私が達成しようとしているのは、各グループ アクセスの最大値を示す 1 つの行を含む配列を作成することです。たとえば、あるグループが priv_access と priv_export へのアクセス権を持ち、他のグループが priv_delete へのアクセス権を持っているとします。app_name、priv_access、priv_delete、および priv_export がすべて Y を示し、他の項目が null または No である単一のレコードが必要です。
'form_imsi_news', 'Y', '', '', '', 'Y', ''
'form_imsi_news', NULL, NULL, Y, NULL, NULL, NULL
'form_imsi_news', 'Y', '', 'Y', '', 'Y', '' のようになります。
どんな助けでも大歓迎です。