2013-04-14 41 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

對不起,我不知道是什麼問題。你想自動將郵政編碼,城市和州兩次存儲在第二個表中?爲什麼?如果需要使用兩個不同的表名稱冗餘訪問相同的數據,只需創建一個視圖即可。你可以用觸發器做你想做的事情,但我認爲這完全浪費了時間,精力和存儲空間。 –

相關問題