Basher, if you include the Member and the introducee on each line then you will have no grouping and your query makes no sense.
If all you want to do is to select The member and the number of introduced persons then its more like this:
Code:
SELECT member.memberid, member.surname MemberSurname, member.firstname MemberFirstname, count(intro.memberid) as MembersIntroduced
FROM member1 member, member1 intro
WHERE member.introducedby = intro.memberid
GROUP BY member.surname , member.firstname, member.memberid
If you want to see all the people that have been introduced by members who have introduced more than one person then
Code:
SELECT member.surname MemberSurname, member.firstname MemberFirstname, member.memberid, intro.surname IntroducedBySurname, intro.firstname IntroducedByFirstName, intro.memberid
FROM member1 member, member1 intro
WHERE member.introducedby = intro.memberid
and member.memberid in (SELECT membersub.memberid
FROM member1 membersub, member1 introsub
WHERE membersub.introducedby = introsub.memberid
and count(introsub.memberid)>1)
Although having the table joined to itself is making it hard to make sure the SQL is correct i think these are ok.
Why are you using outer joins? (the (+) bit) - since you are only interested in members who have introduced people this makes no sense
GK