Es in einen Select zu packen mit Joins und Cases erscheint mir nicht möglich.
In der oncalcfields-Routine stehen 2 Bildschirmhöhen Code mit if-Anweisungen und Selects. ^^
Daher wäre der sinnvollste Weg
sql-functions, da kämen aber 2 Probleme auf mich zu: edit und post ^^