Вы можете сделать все это одним оператором в SQL, но это выглядит довольно уродливо, потому что вы должны повторять куски:
SELECT
CASE WHEN
/* res1 */ Power(IsNull(val1X, 0), 2) + Power(IsNull(val1Y, 0), 2)
> /* res2 */ Power(IsNull(val2X, 0), 2) + Power(IsNull(val2Y, 0), 2)
THEN
/* res1 */ Power(IsNull(val1X, 0), 2) + Power(IsNull(val1Y, 0), 2)
ELSE
/* res2 */ Power(IsNull(val2X, 0), 2) + Power(IsNull(val2Y, 0), 2)
END
FROM
myTable
Было бы немного чище использовать пользовательскую функцию, чтобы обернуть эту Power (IsNull (field, 0), 2), чтобы вы не повторяли себя так много, но я оставлю это как упражнение для вас, чтобы сделать. :)