Let's say we are joing 12-14 tables. First we simplify that down to 5 table variables. One of the 5 new tables is a table of Unit of Measure Conversions. Some times you have to convert from one UOM to another UOM to get to the correct UOM for display. Of course there are times where you have to convert through several to get to the UOM you need.

The question is is it better to try to do the conversion in the database a.k.a. that server, or on the web server in codebehind. The field is being displayed on a report and each field is set in the codebehind already from a DataReader. Note, I've already by passed the 3-tier object layer because of the grouping I needed to do.

I'm working with two types of contracts, the contracts are for grain/corn/...
The diffrent types of grain on the different types of contracts have to be converted to most likely a paramater based type of measurement conversion.

The reason I just skipped over the object layer is because there are two type of contract objects based on the third base contract class. If I had done an ICompare for the grouping and the sorting;some type of bubble sort. That would work, but then the objects would .Sort(): by commodity type, by contract sub type, by contract type, by year, by month, by 1/2 month sorting. They even say they want that grouping and sorting to happen in my codebehind, not in the stored procedure. It's ok to do it, but sorting in the code is the best practice.