CREATE TABLE #TEST (A INT, B INT, C INT)
INSERT INTO #TEST VALUES(1,3,5),(2,1,0), (0,9,1)
SELECT * FROM #TEST
CREATE FUNCTION fnGetMin (@a int, @b int, @c int)
returns char(3)
as
begin
if @a < @b and @a < @c
begin
if @a < @c
return('A ' + CONVERT(CHAR(1), @a))
end
else if @b < @c and @b < @a
begin
return('B ' + CONVERT(CHAR(1), @b))
end
return('C ' + CONVERT(CHAR(1), @c))
end
select dbo.fnGetMin(A,B,C) from #TEST
select A
, B
, C
, CASE WHEN A<B AND A<C THEN 'A'
WHEN B<A AND B<C THEN 'B'
ELSE 'C' END AS CAMPO_MENOR
, CASE WHEN A<B AND A<C THEN A
WHEN B<A AND B<C THEN B
ELSE C END AS VALOR_MENOR
from #Testt