Code:
SELECT lookup_MemberTypes.Description AS MemberType, Format([EndDate],"yyyy") AS SeasonEnding, DatePart("yyyy",[paymentdate])+IIf(DatePart("m",[paymentdate])>=7,1,0) AS PaymentFiscalYear, IIf(Sum(IIf(DatePart("m",[paymentdate])=7,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])=7,1,0))) AS Jul, IIf(Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=8,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=8,1,0))) AS Aug, IIf(Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=9,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=9,1,0))) AS Sep, IIf(Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=10,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=10,1,0))) AS Oct, IIf(Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=11,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 And DatePart("m",[paymentdate])<=11,1,0))) AS Nov, IIf(Sum(IIf(DatePart("m",[paymentdate])>=7,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7,1,0))) AS [Dec], IIf(Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=1,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=1,1,0))) AS Jan, IIf(Sum(IIf(DatePart("m",[paymentdate])=2,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=2,1,0))) AS Feb, IIf(Sum(IIf(DatePart("m",[paymentdate])=3,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=3,1,0))) AS Mar, IIf(Sum(IIf(DatePart("m",[paymentdate])=4,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=4,1,0))) AS Apr, IIf(Sum(IIf(DatePart("m",[paymentdate])=5,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=5,1,0))) AS May, IIf(Sum(IIf(DatePart("m",[paymentdate])=6,1,0))=0,Null,Sum(IIf(DatePart("m",[paymentdate])>=7 Or DatePart("m",[paymentdate])<=6,1,0))) AS Jun
FROM lookup_MemberTypes LEFT JOIN attribute_PersonMembership ON lookup_MemberTypes.Id = attribute_PersonMembership.MembershipTypeId
WHERE (((lookup_MemberTypes.Id)=3))
GROUP BY lookup_MemberTypes.Description, Format([EndDate],"yyyy"), DatePart("yyyy",[paymentdate])+IIf(DatePart("m",[paymentdate])>=7,1,0)
HAVING (((Format([EndDate],"yyyy"))=2017))
ORDER BY Format([EndDate],"yyyy"), DatePart("yyyy",[paymentdate])+IIf(DatePart("m",[paymentdate])>=7,1,0)
If that's not what you're after, I don't understand your description. Go back to a simpler example