This reminds me Oracle's partitioned outer join [1]. Note: it has nothing to do with table/index partitioning. This _kind_ of join resembles SJR (e.g. it calculates distinct Y first, then joins), but it even results into something useful. I've faced a case or two when partitioned outer join was the proper tool.
[1]: http://www.oracle-developer.net/display.php?id=312 Vladimir
