0

我不确定这个主题对问题的描述有多好,但这是我能想到的最好的。我有两张桌子:

Users                  UserNames

UserID | CompanyID     UserID | Name
--------------------   ---------------
   1   |    30            1   | John
   2   |    32            2   | Anne 
   2   |    32            3   | Mark 
   3   |    33            4   | Kris 
   4   |    32            5   |  Tom 

我要创建的是特定公司的用户摘要。例如,为 CompanyID 32 创建摘要将导致:

UserID | Name | Count
---------------------
   2   | Anne |   2
   4   |  Tom |   1

使用以下 SQL 查询非常接近:

SELECT UserID, Count(UserID)
FROM Users
WHERE CompanyID = 32
GROUP BY UserID

UserID | Count
---------------------
   2   |   2
   4   |   1

但我不知道如何添加名称列。我错过了一些明显的东西吗?

感谢 SQL 菜鸟 Jason

4

1 回答 1

1
SELECT Users.UserID, Count(Users.UserID), UserNames.Name
FROM Users
INNER JOIN UserNames ON UserNames.UserID = Users.UserID
GROUP BY Users.UserID, UserNames.Name

或者,您可以添加以下行以仅获取多次出现的用户

HAVING  Count(Users.UserID) > 1
于 2013-07-03T21:36:23.177 回答