I suppose I was looking for the ViewSQLObject class as a way to achieve
the same thing with a lesser need to learn more SQL ...

Anyway, thanks for the code example.  I reckon I can figure out how
it works by reading up on hash joins.

Hmmm.... Views, IMHO, are just SELECTS transformed to views. It means not special SQL digging is necessary.
Anyway, for some really complex SELETS, direct SQL is the way to go.