• Lynn's right having the table structures and sample data does make helping out a lot easier. But I think I understand the problem at least well enough to throw out a sample query.

    Would this get the results you are looking for?

    select A.grading, CASE WHEN count(B.IDno) = 0 THEN count(C.IDno) ELSE COUNT(B.IDno) end as myCountFrom A

    left join B on A.fkIDno = B.IDno and A.grading = 1

    left join C on A.fkIDno = C.IDno and A.grading = 2

    Where A.grading > 3