0

看看这段代码:

DECLARE @bufferOrder INT = 1, @capacityOrder INT = 2, @priceOrder INT = 3, @angleSpeedOrder INT = 4

    SELECT 'buffer', @bufferOrder
UNION  
    SELECT 'capacity', @capacityOrder
UNION  
    SELECT 'price', @priceOrder
UNION  
    SELECT 'angle_speed', @angleSpeedOrder 

我可以在不使用临时表的情况下分配两个列名吗?

     [INSERT INTO @#tempTabel (columnName1,columnName2) + above code]

像这样(伪代码):

     above code +
     AS columnName1,columnName2
4

1 回答 1

2

只需在您的第一个 select 语句中分配列名。例如:

declare @int int = 1, @int2 int = 2, @int3 int = 3, @int4 int = 4;

select 'thing 1' as thing, @int as integer
union
select 'thing 2', @int2
union
select 'thing 3', @int3

我可以很容易地添加更多的东西和更多的东西。列名在第一个 select 语句中定义并保持不变,除非它们被更改别名。

于 2013-01-11T20:49:39.380 回答