I'll raise my hand to that -- yes, it is ugly, although to be fair it isn't 'on the fly' so much as occurring infrequently when certain significant business events happen (lets say bringing on a new supplier).

The proper thing to do would be to put all the data all in once schema and have a field that defines the supplier, but changing that system is outside my authority. I just need to read from it.