I'm thinking that the easiest way to grab information from multiple tables is to create a view in the SQL server.
And from your code you can call upon that as if it was a single normal table.
All the mixing and matching using joins is handled by the server, so you don't have to concerns yourself so much about it in code.
The only drawback is that you can't modify the view in any way. Only read.