gpt4 book ai didi

sql - 根据角色选择值

转载 作者:行者123 更新时间:2023-12-04 20:54:07 27 4
gpt4 key购买 nike

以下结果来自临时表。
请注意:下面的数据只是一个示例,所以我不需要硬编码查询,我需要一个适用于所有类型数据的查询。

值 = 1 表示用户具有角色,0 表示用户没有角色。就像第一行一样,测试 1 具有角色 A 但没有角色 D。

我需要查询以下情况。

角色 ID = ( A,B,C,D ) 时的情况 #1我只需要至少分配了一个角色的用户。我应该返回用户测试 1、测试 2 和测试 3。测试 4 不会出现,因为尚未为其分配任何角色。

案例 # 2 当 角色 ID = ( A,B,C,D ) 时。我只需要分配给它的所有角色的用户。我应该得到 4 行的 User Testing2。

username Value Role ID
Testing1 1 A
Testing1 1 B
Testing1 1 C
Testing1 0 D
Testing2 1 A
Testing2 1 B
Testing2 1 C
Testing2 1 D
Testing3 1 A
Testing3 1 B
Testing3 1 C
Testing3 0 D
Testing4 0 A
Testing4 0 B
Testing4 0 C
Testing4 0 D

最佳答案

案例 # 1(至少分配了一个角色)

SELECT b.*
FROM
(
SELECT DISTINCT [username], Value
FROM tableName
WHERE value = 1
) a
INNER JOIN TableName b
ON a.username = b.username
WHERE a.value = 1

SQLFiddle Demo

案例 # 2(所有角色都分配给它)

SELECT username
FROM tableName
WHERE RoleID IN ('A','B','C','D')
GROUP BY username
HAVING COUNT(DISTINCT roleID) = 4

SQLFiddle Demo

关于sql - 根据角色选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041675/

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