• VALUES is not a table. It is a table value constructor, because the values clause can contain expressions which are used to construct the actual values produced. Tables can have values in columns, even computed values in computed columns. But you can't cross join to a table and do this:

    declare @input table(Amount int)

    insert into @input

    select 36 union all

    select 16

    select * from @input

    -- the value in the Result column is constructed

    select Amount, v.Result

    from @input

    cross apply (values (Amount),(Amount + 1), (Amount * 10), (Amount+100), (Sqrt(Amount)), (Amount/2)) v (Result)

    __________________________________________________

    Against stupidity the gods themselves contend in vain. -- Friedrich Schiller
    Stop, children, what's that sound? Everybody look what's going down. -- Stephen Stills