Guest User

Untitled

a guest
May 20th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. select i.firstname, i.lastname, count(*)
  2. from (
  3. select m.memberid, m.registrationDate,
  4. (select min(dateAdd )
  5. from memberPayment as mp
  6. where mp.memberId = m.memberId
  7. and mp.payForId = 1) as payDate,
  8. (select count(*)
  9. from memberPayment as mp2
  10. where mp2.memberId = m.memberId
  11. and mp2.payForId = 1) as newPayments,
  12. sems.firstGrad, sems.instructorId
  13. from members as m
  14. left join (
  15. select st.memberId, st.instructorId, st.dateGrad as firstGrad, m2.registrationDate
  16. from seminarsTaken as st
  17. join members as m2
  18. on st.memberId = m2.memberId
  19. where st.dateGrad < m2.registrationDate
  20. group by st.memberId, st.instructorId, st.dateGrad, m2.registrationDate
  21. having st.dateGrad =
  22. (select max(dateGrad)
  23. from seminarsTaken as st2
  24. where st2.memberId = st.memberId
  25. and st2.dateGrad < m2.registrationDate)
  26. ) as sems
  27. on m.memberId = sems.memberId
  28. where m.membership in (3,4,5,6,7)
  29. -- and m.renewByDate > getDate()
  30. and m.registrationDate between '7/1/2007' and '6/30/2008'
  31. ) as mC
  32. join members as i
  33. on i.memberId = mC.instructorId
  34. group by i.lastname, i.firstname
  35. order by i.lastname, i.firstname
Add Comment
Please, Sign In to add comment