我有以下查詢其(在我的系統)得到誰擁有超過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
任何指導,將不勝感激。
謝謝。
感謝你這樣..我認爲你已經爲我加入了聯合:) –