If the selects are expensive, then it's all the more reason to avoid multiple cursors. Combining expensive selects with joins will make them even more expensive.
Besides you also have the problem of unequal amounts of data as explained above.
Instead, you could just create four DataSources and combine the data into one DSO/Cube in BW. That would be much easier to manage.