我有以下 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')
我想要完成的是创建一个包含一行的数组,显示每个组访问的最大值。例如,如果一个组可以访问 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', ''
请任何帮助将不胜感激。