Sounds a lot less trivial than I first suspected considering the amount of work you did framing the question.. I am looking, the schema was very helpful thanks.
I was very good at this sort of problem back when i did it. Its been a few years, so I am a bit rusty. But I'll do my best to help.
It is late, so I dont expect a solution tonight, but if I have any insights ill let ya know. At first glance I fail to see why this is even difficult, which is likely a failing on my part.