You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite3查询特定元素无权限或权限符合条件的用户

SQLite3 查询符合权限条件的用户

完全可以实现,以下是对应的SQL查询语句:

SELECT users.*
FROM users
LEFT JOIN user_permissions
  ON users.id = user_permissions.user_id
  AND user_permissions.element_id = ? -- 替换为你指定的元素ID
WHERE
  -- 情况1:用户无该元素的权限记录
  user_permissions.user_id IS NULL
  OR
  -- 情况2:有记录,但can_read或can_edit为1,且can_manage不为1
  (user_permissions.can_read = 1 OR user_permissions.can_edit = 1)
  AND user_permissions.can_manage != 1;

语句说明:

  • 使用LEFT JOIN关联用户表和权限表,确保即使用户没有对应元素的权限记录也能被查询到
  • ON子句里指定关联用户ID和目标元素ID,精准过滤出该元素的权限记录
  • WHERE条件分两部分:
    1. 当user_permissions.user_id IS NULL时,说明该用户没有该元素的任何权限记录
    2. 当存在权限记录时,检查can_read或can_edit为1,同时can_manage不等于1(括号确保OR逻辑优先执行,避免优先级问题)

如果需要调整返回的字段,只需修改SELECT后的内容即可。

内容的提问来源于stack exchange,提问作者maxischl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:39:55