It depends on your data and what you want. You can join the list tables or maybe you can use mapping tables and the applymap function.
You could use the join statement to join the tables into one table. You can then use the fields in the combined table to create new fields. Something like this:
List1:
Load
LegalName, fieldB, fieldC, ..etc
from ...list1...;
join
Load
LegalName, fieldP, fieldQ, ..etc
from ...list2...;
join
Load
LegalName, fieldX, fieldY, ..etc
from ...list3...;
ResultTable:
Load
LegalName,
fieldP & '-' & fieldX as fieldPX,
fieldA, fieldB, fieldP,...etc
resident List1;
drop table List1;
talk is cheap, supply exceeds demand