• Just use CROSS APPLY to introduce the expression, and then you can just give it a name you can reference.

    Here's a quick example illustrating it:

    SELECT object_id,

    case_result,

    --can be referenced by name now

    derived_from_case='Simple concat: '+case_result

    --can also be referenced by name in other operations

    FROM sys.objects O

    CROSS APPLY

    (SELECT CASE

    WHEN O.object_id<100 THEN 'Less than 100'

    WHEN O.object_id>=100 THEN 'Greater than or equal to 100'

    END

    )cross_applied(case_result)

    In 2008 on, you could also CROSS APPLY VALUES instead of doing the SELECT.

    Cheers!