复制表和合并字段

时间:2009-10-31 16:08:36

标签: sql merge

你能帮我解决现在的SQL吗?

我将1个表复制到另一个表,同时合并字段。

我在+

上收到错误
INSERT INTO [dSCHEMA].[TABLE_COPY_TO]
(
  [FIELD_A],
  [FIELD_B],
  [FIELD_A] + '-' + [FIELD_B]

)
SELECT [FIELD_A]
      ,[FIELD_B]
  FROM [dSCHEMA].[TABLE_COPY_FROM]

2 个答案:

答案 0 :(得分:3)

附加文本实际上需要在SELECT语句中,因此它看起来更像

Insert Into [dSCHEMA].[TABLE_COPY_TO] 
    (FieldA, FieldB, FieldC)
Select FieldA, FieldB, FieldA + '-' + FieldB
From [dSCHEMA].[TABLE_COPY_FROM]

答案 1 :(得分:0)

我猜你是 试图在[dSCHEMA]中创建计算列 。[TABLE_COPY_TO]。

在这种情况下,您必须正确定义DDL。以下是一个例子

declare @tblCopyFrom table
(
    fieldA varchar(10)
    ,fieldB varchar(10)
)
declare @tblCopyTo table
(
        fieldA varchar(10)
        ,fieldB varchar(10)
        ,fieldC AS (fieldA + '-' + fieldB) -- Computed Column
)

insert into @tblCopyFrom 
      select 'valA1','valB1' union all
      select 'valA2','valB2' union all
      select 'valA3','valB3' union all
      select 'valA4','valB4' union all
      select 'valA5','valB5' 

insert into @tblCopyTo (fieldA,fieldB)
select * from @tblCopyFrom
select * from @tblCopyTo

否则,在插入之前,您可以将计算列添加到表中,然后插入 喜欢

更改表TABLE_COPY_TO添加(fieldC AS(fieldA +' - '+ fieldB))

插入.......