我已经修改了这个过程并希望简化。在过去,我有两个表,tablename和result。 Tablename有一个名为cnty的列(第90个中的第90个),它是char(3)。第二个表,结果,有一个字段,基本上是000 + cnty。该字段标题为区域。我试图从tablename插入cnty值,在开头添加三个零,并将它们放在列,区域下的结果表中。
现在我在结果中都有两列。现在区域是空白的。 Cnty包含tablename中的值(79954)。
示例数据
area employment busdesc cnty
410 gas station 003
期望的结果
area employment busdesc cnty
000003 410 gas station 003
答案 0 :(得分:1)
update res
set res.area = '000' + tbl.cnty
from Result res inner join [originalTable] tbl
on res.id=tbl.id --Don't know how to join both tables, let us know
编辑:关于最后一条评论,让我们创建一个新表Results2(因为我不知道表中的所有列)这个表将包含tablename的所有列加上新的Area列。
select *, '000' + cnty as AREA
into Results2
from dbo.tablename;
您必须指定每个列,或者在这种情况下,星号*
将执行
答案 1 :(得分:1)
尝试以下查询:
update dbo.result
set area = concat('000',cnty);
希望它有所帮助!
答案 2 :(得分:0)
这是您正在寻找的语法吗?
insert into dbo.result (name1, area)
select name1, '000' + cnty
from dbo.tablename;
或者,如果表格不存在:
select name1, ('000' + cnty) as area
into dbo.result
from dbo.tablename;