You are doing that wrong: tbl2 should contain the ServiceID, not the name:
And use a JOIN to access the Service name.
That does make the final query you want slightly more complex, but not a lot:
SELECT a.Service, ISNULL(b.CNT, 0)
FROM tbl1 a
LEFT JOIN (SELECT ServiceID, COUNT(RollNumber) AS CNT
GROUP BY ServiceID) b
ON a.ID = b.ServiceID
And do yourself two favours:
1) Use sensible table names! It makes your queries so much more readable, and thus reliable...
2) Add an IDENTITY id column to tbl2, to prevent duplication. You don't need to use it in most of your queries, but SQL will not allow you to have duplicate rows.