Στον πίνακα των μαθητών βάλε ένα πεδίο που θα μπορούσες να το ονομάσεις ParentID ή InvitedByID ή ότι άλλο νομίζεις εσύ.
Κάθε φορά που θα καταχωρείς έναν μαθητή γράφε εκεί τον μαθητή ( StudentID ) που τον προσκάλεσε ( αν προσκλήθηκε ή αλλιώς NULL ).
Αν π.χ. ο μαθητής Β έχει προσκληθεί από τον μαθητή Α και οι Μαθητές Γ1 και Γ2 έχουν προσκληθεί από τον μαθητή Β, τότε είναι προφανές ότι ο Μαθητής Α έχει προσκαλέσει
άμεσα τον μαθητή Β καί
έμμεσα τον μαθητή Γ1 και Γ2.
Εφόσον αυτό δεν γίνεται με ένα SELECT Statement, γιά κάθε μαθητή ο οποίος έχει Parent τον μαθητή Α, συνέχισε την διαδικασία με recursion,
περνώντας ως παράμετρο το ID του μαθητή ( ή μαθητών ) που έχουν Parent τον Αρχικό μαθητή,
μέχρι το Query να σταματήσει να φέρνει εγγραφές, είτε από κώδικα είτε από stored procedure και κάνε τους υπολογισμούς σου γιά την έκπτωση.