I'm joining two data sets with somewhat similar structure. The only parameter must be that the data coming in from the left side must be listed first and the data coming in from the right side listed in the rows second. If there is no data for a row in the left side then the data from the right side must be listed first...Example listed below
This is how the two data sets are currently being joined...

The results below show how the data presents itself on top and how we want the data to be on bottom...

The rub here is that this is a significant data set. I tried creating a record id and transposing the data vertically and ended up with a file that was 180m rows(original file is 1.8m rows). I wasn't sure that solution was going to be sustainable. Plus the top results file is about 100 columns wide w/ about 8 of these situations (Player, Unit etc)
I don't know if the solution to this problem lies in the original Join as shown above or if it's in addressing the results of that join...
(I usually get to this point when posting a challenge & get a solution to my question. This is the first time in MONTHS that this hasn't been the case so I'm kinda excited)...
Thoughts?!?