Wow, this is uglier than I ever imagined -- and I don't understand why the table and column name could not be preserved in this case -- it's not even a display column, but I suppose it can wait.