So, I typically use SQL Servers MMC (Management console) to create complex queries and visualize relationships between tables, since it has such a fantastic GUI for doing this.
I have a query that brings in a second(and third) table via wheels include="secondModel(thirdModel)", and counts up how many rows are in the third table... long story short.. there is a SUPER EXCELLENT feature of wheels where it allows you to use the DATABASE column names and table names.. effectively giving you control again for this case... you just have to:
So, if you have a complicated select statement, you don't have to try and figure out what wheels has mapped your column names to now that there are multiple tables involved, you can just use their actual names. I've being using wheels for quite a while now, and never knew that it had this behaviour. No wonder I got frustrated with wheels when doing complex joins and aliases... it was switching to un-wheelsy mode.. and not telling me!!
Caveat: I really like cfwheels' built in ORM. I enjoy not needing using sql servers' table and column names, along with the table prefixes in my queries. But, in some cases...you know them.. the cases where you threaten wheels that you're going to break out a <CFQUERY> tag and just paste in the answer... its nice to just be able to go half-way.