我有一张这样的表
create table TA1
(
col1 int,col2 int,pk1 int,uom1 varchar(20),pck2 int,uom2 varchar(20)
)
insert into ta1 values(15,18,6,'a',1,'b')
insert into ta1 values(17,12,61,'c',1,'d')
我创建了另一个像这样的表
create table ta2(col int,pck int,uom varchar(20))
我需要得到像这样的结果输出
答案 0 :(得分:1)
您需要取消隐藏数据。使用CROSS APPLY
运算符执行此操作
Insert into ta2(col, pck, uom)
SELECT col,
pck,
uom
FROM ta1
CROSS apply (VALUES (col1, pk1, uom1),
(col2, pck2, uom2))
cs (col, pck, uom)
或者您可以使用UNION ALL
以所需的格式获得结果
select col1 as col, pk1 as pck, uom1 as uom from ta1
union all
select col2, pck2, uom2 from ta1