I have content type that links to several other content types
Report -> Plot -> Dataset -> Citation (biblio).
This type has a conditional field which selectively links to to possibilities each with field collections and entity references.
I want to show information from each of these together. These are the options I'm considering:
1) I can do this with views. It turns out that the 'table' type (a $rows array makes it easy than inspecting the $views object) and several relations can put something that works together. The query is quite big with at least 10 LEFT JOINs, and it does seem a bit kludgy (I have to modify the 'tables' template and strip out the html and a lot of the class info. The solution I want isn't a table, and I'm not sure this is the best way.)
2) I could skip views and develop my own module/block use db_select(). This would allow me to simplify the query with a UNION. But I have to so a lot more work on my own when views does a lot of the work for me.
3) I could skip views, develop my own module/block use a smaller query and with enough entity_loads and node_loads I can get all the info I need. The problem having so many 'mini-queries' with all the node-loads seems like an inefficient way of doing things..
What is the recommended solution for something like this?