El CASE se utiliza dentro de sentencias, mientras que el IF se utiliza para control de flujo de tu programa:
Código:
IF @variable = 1 --flujo
BEGIN
SELECT
campo,
CASE campo2 --condicion
WHEN 1 THEN 'uno'
WHEN 2 THEN 'dos'
DEFAULT 'nadie sabe'
END
FROM una_tabla
END
ELSE
BEGIN
SELECT
campo3,
CASE campo4
WHEN 1 THEN 'uno'
WHEN 2 THEN 'dos'
DEFAULT 'nadie sabe'
END
FROM otra_tabla
END