ID FirstName LastName
1 John Doe
2 Bugs Bunny
3 John Johnson
Run Code Online (Sandbox Code Playgroud)
我想DISTINCT从FirstName列中选择结果,但我需要相应的ID和LastName.
结果集只需显示一个John,但需要ID1和1 LastName的Doe.
我有以下查询:
select carBrand, carYear, carModel from cars;
Run Code Online (Sandbox Code Playgroud)
我想要的只是获得不同的汽车名称.
我写了这个,但这不是我想要的.
select DISTINCT carBrand, carYear, carModel from Cars;
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我正忙着搞清楚我需要的SQL查询.
我有一个项目,为用户提供工作室级用户角色,每个项目都有项目级角色,覆盖/覆盖工作室级角色.所有角色都在工作室级别定义,但在项目级别仅定义了一些角色(主要是具有与其对应的工作室级别角色不同的值的角色)
g_studio_UsersInRole
userId roleId value
1 1 TRUE
1 2 TRUE
1 3 TRUE
2 1 FALSE
Run Code Online (Sandbox Code Playgroud)
g_project_UsersInRole
userId roleId value projectId
1 2 FALSE 1
2 1 TRUE 1
Run Code Online (Sandbox Code Playgroud)
我需要一个查询,它将项目角色覆盖在给定项目ID的工作室角色上.棘手的部分是避免重复的工作室级角色.我需要项目级角色(如果有的话)来支配.
我一直在玩Unions,但我无法弄清楚如何避免重复.
基本上我需要以下结果:
userId roleId value
1 1 TRUE
1 2 FALSE
1 3 TRUE
2 1 TRUE
Run Code Online (Sandbox Code Playgroud)
哪里
如项目层面所示
我以为我接近这个查询,但重复仍然存在:
;With roles As
(
SELECT UserId, Value, RoleId
FROM dbo.g_project_UsersInRole
WHERE (ProjectId = 1)
UNION
SELECT UserId, Value, RoleId
FROM dbo.g_studio_UsersInRole)
SELECT roles.RoleId, Value, UserId
FROM …Run Code Online (Sandbox Code Playgroud)