如何将一个表列值保存到另一个表值?

时间:2013-04-14 17:43:56

标签: sql sql-server-2005

enter image description here

我有2张桌子 表1 = Profile_Update 表2 = PostalDB

这里的表1列(BusinessName,ContactName,City,State,Postalcode {PrimaryKey}等)值也要存储表2(City,State,Postalcode {PrimaryKey})列。如何将一个表列值保存到另一个表值。

2 个答案:

答案 0 :(得分:1)

忽略在邮政编码上使用主键是不聪明的(因为在某些情况下,多个城市可以共享邮政编码,当然你不希望只允许一个用户使用任何邮政编码),也许你是什么寻找的是:

UPDATE p SET city = pu.city, state = pu.state
  FROM dbo.PostalDB AS p
  INNER JOIN dbo.Profile_Update AS pu
  ON p.Postalcode = pu.Postalcode;

INSERT dbo.PostalDB(city, state, Postalcode)
  SELECT city, state, postalcode
  FROM dbo.Profile_Update AS pu
  WHERE NOT EXISTS
  (
    SELECT 1 FROM dbo.PostalDB
      WHERE Postalcode = pu.Postalcode
  );

答案 1 :(得分:0)

使用

SELECT ... INTO 

创建新表时。

否则

Insert INTO table (columns...)   (SELECT ... FROM ... where ...)