2013-04-14 43 views
-3

enter image description here如何将一个表列值保存到另一个表值中?

我有2表 表1 = Profile_Update 表2 = PostalDB

这里表1柱(BUSINESSNAME,联系人姓名,城市,州,邮编{的PrimaryKey},等等。)的值要存储表2(城市,州,邮编{PrimaryKey})列。如何将一个表列值保存到另一个表值中。

+3

http://stackoverflow.com/questions/16000854/how-to-create-a-new-table-from-an-existing-表是不是同一个问题? – Sajeetharan

+2

邮政编码上的主键可能不是明智的 – Brad

+0

问题仍不清楚。措辞听起来像第二个表不存在,但在对象资源管理器中很明显它确实存在。 'PostalDB'表是空的(意味着你需要一个插入),还是'PostalDB'表填充了(意味着你需要更新并且可能还有一个插入)? –

回答

0

使用

SELECT ... INTO 

当你创建一个新表。

否则

Insert INTO table (columns...) (SELECT ... FROM ... where ...) 
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 
); 
+0

哇谢谢你ü我得到了它.. – SDR

+0

温柔的人对不起,说数据不会自动保存到PostalDb表,但profile_update表完全保存数据,如果我执行查询的手段,那么只有它将被添加在PostalDb表中。 .my需要的是自动保存的数据到PostalDb也根据Profile_Update表条目根据您的建议我删除Postalcode作为主键.. Kindly帮助.. – SDR

+0

对不起,我不知道是什么问题。你想自动将邮政编码,城市和州两次存储在第二个表中?为什么?如果需要使用两个不同的表名称冗余访问相同的数据,只需创建一个视图即可。你可以用触发器做你想做的事情,但我认为这完全浪费了时间,精力和存储空间。 –

相关问题