SQL - 在两个表中查找唯一值

SQL - Finding unique values on two tables

我有两个表想在其中查找

一个。不同的用户名、不同的文档# 和不同的位置名称

b。不同的用户名、不同的文档# 和不同的位置名称

这是两个单独的 sql 查询。

这些表格如下所示:

用户Table

|---------------------------------------|------------|
| UserId       | UserName     |Document#| LocationId |
|---------------------------------------|------------|
|  1           |  bob2#       | DL      |   1        |
|---------------------------------------|------------|
|  2           |  mary3#      | Passport|   2        |
|---------------------------------------|------------|
|  3           |  bob2#       | SIN#    |   4        |
|---------------------------------------|------------|
|  4           |  sam5#       | DL      |   3        |
|---------------------------------------|------------|
|  5           |  bob2#       | SIN#    |   1        |
|---------------------------------------|------------|

地点Table

|---------------------------------------|
| LocationId   | UserId   |LocName      |
|---------------------------------------|
|  1           |   1      | Denvor      |
|---------------------------------------|
|  2           |   2      |  NY         |
|---------------------------------------|
|  3           |   3      | San Fran    |
|---------------------------------------|
|  4           |   4      | Chicago     |
|---------------------------------------|

这是我在 a) 部分尝试过的方法

select User.UserName, User.Document#, Location.LocName 
from User Inner Join
     Location
     On User.UserId = Location.LocationId
Group by User.UserName

这是 b) 部分的内容

select User.UserName, User.Document#, Location.LocName 
from User Inner Join
     Location
     On User.UserId = Location.LocationId
Group by User.UserName, Location.LocName

有人可以阐明如何处理这个问题吗?

您需要通过

与您的群组进行汇总

示例,您可以按 User.UserName 分组并获取文档数(计数)和 Location.LocName

的计数
select User.UserName, Count(User.Document#), Count(Distinct Location.LocName) 
from User
Inner Join Location On User.UserId = Location.LocationId
Group by User.UserName

编辑:

我认为您在将用户 ID 加入位置 ID 时做错了

应该是

select User.UserName, Count(User.Document#), Count(Distinct Location.LocName) 
from User
Inner Join Location On User.LocationId = Location.LocationId
Group by User.UserName