【发布时间】:2016-03-03 16:18:59
【问题描述】:
我有以下表格。我想从 test1 表中将值插入 companyGroup 和 Comapany。什么是更好的 CTE 方式或直接使用 Merge 以及如何使用 tsql 来做到这一点。 Test1 在数据库 A 上,company 和 companygroup 在数据库 B 上。
create table test1
(
companyID int identity
,CompanyName Varchar(50)
,[Group] Varchar(5)
)
INSERT INTO (CompanyName, [Group]) values ('Unknown', '0')
INSERT INTO (CompanyName, [Group]) values ('APPLE', 'IOS')
INSERT INTO (CompanyName, [Group]) values ('Google', 'Android')
INSERT INTO (CompanyName, [Group]) values ('Samsung', 'Android')
INSERT INTO (CompanyName, [Group]) values ('Lg', 'IOS')
create table CompanyGroup
(
Groupkey int identity (0,1) primary key
,GroupName varchar(5)
) ;
INSERT INTO (GroupName) VALUES ('Unknown')
create table Company
(
compnayKey int identity (0,1) primary key
,CompanyName Varchar(50)
,companyGroupKey int References CompanyGroup(GroupKey)
)
INSERT INTO (CompanyName,companyGroupKey) VALUES ('Unknown',0)
当我将值插入公司时,我如何将 group 转换为 int ?有任何想法吗?这种负载的最佳 TSQL 是什么。
【问题讨论】:
标签: sql tsql merge common-table-expression