我有以下查询其(在我的系统)得到谁拥有超过6名成员成员总数....外连接SQL在具有查询
select count(*) as MemberCount from (
SELECT count(membership.memberid) as MembershipCount from Membership, Package
WHERE membership.PackageId = Package.Id
AND membership.DiscountPercentage != 100
AND Package.PackageTypeId != 1
AND membership.MembershipStateId != 5
AND Membership.LocationId = 1
group by memberid
having count(membership.memberid) > 6
) NonTrialMemberships
我需要做的是左外部加入“有”的一部分与一个临时表,所以我可以得到成员数量超过1,2,3,4,5,6,7,8,9,10会员的人数列表
having count(membership.memberid) > 6 <------(OUTER JOIN THIS)
我已经创建了一个临时表作为连接使用,但不知道如何使用它。我也看到使用内存表可能比临时表更有效率...
create table #Temp
(
Num int,
)
DECLARE @i int = 0
DECLARE @total int = 10
WHILE @i < @total
BEGIN
SET @i = @i + 1
Insert Into #Temp values (@i)
END
select * from #Temp
select count(*) as MemberCount from (
SELECT count(membership.memberid) as MembershipCount from Membership, Package
WHERE membership.PackageId = Package.Id
AND membership.DiscountPercentage != 100
AND Package.PackageTypeId != 1
AND membership.MembershipStateId != 5
AND Membership.LocationId = 1
group by memberid
having count(membership.memberid) > 6
) NonTrialMemberships
If(OBJECT_ID('tempdb..#temp') Is Not Null)
Begin
Drop Table #Temp
End
任何指导,将不胜感激。
谢谢。
感谢你这样..我认为你已经为我加入了联合:) –