gpt4 book ai didi

SQL 查询 : See relationship between array of users and groups

转载 作者:行者123 更新时间:2023-12-02 20:18:15 25 4
gpt4 key购买 nike

我有一个小型应用程序,用户可以登录并执行他们在其中所做的任何操作。关于用户的数据库结构并不奇怪。一共有三张表:

  • 用户
  • 群组
  • 用户组关系
  • 现在,我如何获取所有组的列表以及一组用户的成员资格状态?

    让我通过一个例子来澄清这一点。

    David 是'用户''管理员''经济'的成员
    Erik 是'用户'、管理员'的成员
    理查德是“管理员”的成员
    丽莎是'管理员''经济'的成员

    这是我想要的 sql 查询结果

    GroupName.......................isEveryoneAMember

    users ...................... someAre
    Administrators.......... yes
    Economy .................. someAre
    Sales ....................... no

    最佳答案

    SELECT  g.name,
    CASE
    WHEN mcount = 0 THEN
    'none'
    WHEN mcount = ucount THEN
    'all'
    ELSE
    'some'
    END AS isEveryOneAMember
    FROM (
    SELECT COUNT(*) AS ucount
    FROM users
    ) u
    CROSS JOIN
    (
    SELECT group_id,
    COUNT(*) AS mcount
    FROM user_group_relation ug
    GROUP BY
    group_id
    ) ug
    JOIN groups g
    ON g.id = ug.group_id

    关于SQL 查询 : See relationship between array of users and groups,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949402/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com