假設
- 有在tblVisits沒有數據
- ID不是自動遞增標識列
- 所有列有默認值指定
然後你查詢會起作用
insert into tblVisits (kha_id, adm_src) select kha_id, adm_src from tblAdm_Src
如果某些列沒有默認值,則需要在查詢中提供默認值,例如,
insert into tblVisits (kha_id, adm_src, otherColumn)
select kha_id, adm_src, 'a value' from tblAdm_Src
如果kha_id是標識列,您需要使用SET IDENTITY_INSERT
set identity_insert tblVisits on
insert into tblVisits (kha_id, adm_src) select kha_id, adm_src from tblAdm_Src
set identity_insert tblVisits off
如果在訪問現有的數據,你需要更新匹配的行,但插入缺失的人,那麼你需要的東西像
-- update existing rows
update tblVisits
set adm_src = tblAdm_Sr.adm_src
from VisitSource
where tblVisits.kha_id = tblAdm_Sr.kha_id
-- insert missing rows
insert into tblVisits (kha_id, adm_src)
select kha_id, adm_src from tblAdm_Src
where not exists(
select kha_id from tblVisits where tblVisits.kha_id = tblAdm_Src.kha_id)
當然,並考慮到默認值,並自動增加必要的Id列
如果您需要在tblVisits中插入行,更新行或兩者的混合,則不需要解釋。 – Phil 2012-03-28 15:11:30
我需要將行插入tblVisits。 – wootscootinboogie 2012-03-28 15:15:32
那你爲什麼不嘗試呢? – Phil 2012-03-28 16:03:11