For a 1-to-N match stick with the data/merge.
For a N-to-N match, the easiest way would be coding it through SQL.
To my knowledge, data/merge N-way match is actually possible, but it involves using an index and a requires one of the tables to be quite small, on top of that the implementation is quite obscure.
If you are running 9.2 you could try the new features of the hash object, being one, the possibility to load into the hash object multiple obs with the same key.
Cheers from Portugal.
Daniel Santos @
www.cgd.pt