where no rows are being returned, it suggests that one of the join comparisons is not being met.
Put another way:
when using INNER JOIN a result is only returned if there is a match in both tabels being compared. for example:
one of you comparisons is:
generalinsurance.clients_ClientID = clients.ClientID
If there are no records in the generalinsurance.clients_ClientID column that match a record in the clients.ClientID column, a result will not be returned.
Where you have 5 different comparisons to the clients.ClientID column, all of those comparisons MUST make a match to be able to return a result.
To troubleshoot, you should start taking away joins till you find the one that is causing the mismatched data.
You also may need to rewrite your query using a different join type, like a left join, right join or outer join.
See the following page for details on join types: