相关疑难解决方法(0)

MySQL选择一列DISTINCT,以及相应的其他列

ID   FirstName   LastName
1      John        Doe
2      Bugs        Bunny
3      John        Johnson
Run Code Online (Sandbox Code Playgroud)

我想DISTINCTFirstName列中选择结果,但我需要相应的IDLastName.

结果集只需显示一个John,但需要ID1和1 LastName的Doe.

mysql

182
推荐指数
5
解决办法
28万
查看次数

当我在sql server中有多个列时如何使用DISTINCT

我有以下查询:

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 sql-server distinct

10
推荐指数
3
解决办法
9万
查看次数

SQL Server Distinct Union用于一列

我正忙着搞清楚我需要的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)

哪里

  • userId为1,roleId为2的值为False
  • userId为2,roleId为1的值为True

如项目层面所示

我以为我接近这个查询,但重复仍然存在:

;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)

sql t-sql sql-server

3
推荐指数
1
解决办法
7478
查看次数

标签 统计

sql ×2

sql-server ×2

distinct ×1

mysql ×1

t-sql ×1