【发布时间】:2014-03-27 14:51:26
【问题描述】:
SELECT TOP 15
us.MxitId AS TransactionCreatedBy, COUNT(t.CreatedBy) Total
FROM [User] us
INNER JOIN [Transaction] t ON t.CreatedBy = us.UserId
Where ChildGender = 'Male'
GROUP BY us.MxitId, t.ChildGender
ORDER BY 2 desc
SELECT TOP 15
us.MxitId AS TransactionCreatedBy, COUNT(t.CreatedBy) Total
FROM [User] us
INNER JOIN [Transaction] t ON t.CreatedBy = us.UserId
Where ChildGender = 'Female'
GROUP BY us.MxitId, t.ChildGender
ORDER BY 2 desc
我正在尝试将上述两个程序合二为一。
请任何人帮助我,我正在获取 us.MxitId 列的重复值。
Select us.MxitId AS TransactionCreatedBy,
(SELECT TOP 15
COUNT(t.CreatedBy) TotalMale where ChildGender = 'Male') ,
( Select top 15 COUNT(t.CreatedBy) TotalFemale where ChildGender = 'Female')
FROM [User] us
INNER JOIN [Transaction] t ON t.CreatedBy = us.UserId
GROUP BY us.MxitId, t.ChildGender
ORDER BY 2 desc
【问题讨论】:
-
你想如何组合它们?男孩的前 15 名用户可能与女孩的前 15 名用户完全不同。或者,它们可能是相同的列表,但顺序不同。向我们展示您希望输出的样子。
-
嗨,两种情况下的用户都是一样的,如果用户没有记录任何女性数据,我想说 0,反之亦然
标签: sql sql-server stored-procedures inner-join