【发布时间】:2016-02-05 06:38:51
【问题描述】:
我有 2 个查询
第一个是:
SELECT UserId, COUNT(CustomerId) AS Total
FROM (SELECT *
FROM Customer
WHERE JoinYear = 2016
AND JoinMonth = 1
AND JoinWeek = 2
AND JoinDay = 1) x
GROUP BY UserId
第二个是:
SELECT UserId, COUNT(CustomerId) AS Joined
FROM (SELECT *
FROM Customer
WHERE JoinYear = 2016
AND JoinMonth = 1
AND JoinWeek = 2
AND JoinDay = 1
AND JoinStatus = 2) x
GROUP BY UserId
他们每个人都会产生
(first query) (second query)
UserId | Total UserId | Total
-------------- --------------
1 | 10 1 | 2
2 | 15 2 | 5
我的问题是如何将它们加入到这样的表中?
Userid | Total | Joined
-----------------------
1 | 10 | 2
2 | 15 | 5
【问题讨论】:
-
你可以试试这个
SELECT x1.UserId, COUNT(x1.CustomerId) AS Total, COUNT(x2.CustomerId) AS Joined FROM (SELECT * FROM Customer WHERE JoinYear = 2016 AND JoinMonth = 1 AND JoinWeek = 2 AND JoinDay = 1) x1 LEFT JOIN (SELECT * FROM Customer WHERE JoinYear = 2016 AND JoinMonth = 1 AND JoinWeek = 2 AND JoinDay = 1 AND JoinStatus = 2) x2 ON x2.UserId = x1.UserId
标签: sql sql-server-2008 join count