我正在尝试使用另一个表字段的输入插入字段。虽然这对许多数据库引擎完全可行,但
我有以下字段,
新表架构
但实际记录如,
但我希望这两个Industryid和Locationid来自另一个表行业,地点的id。
我有另外两张表
行业
地点
我的查询是
select'insert into organizations(name,industryid,locationid)
values
('''+
Nameofthecompany+''','+
Isnull(industrytype,'Null')+','+
ISNULL(Location,'Null')+')'
from Organization`
结果
insert into organizations(name,industryid,locationid)
values
('Swamy',Telcom,Chennai)
预期结果
insert into organizations(name,industryid,locationid)
values
('Swamy',12,150)
答案 0 :(得分:2)
如果您的当前/实际记录已经在查询中显示的名为Organization
的表中,您可以使用此方法填充新的Organizations
表:
INSERT INTO Organizations( name, IndustryId, LocationId )
SELECT o.Nameofthecompany, i.Id, l.Id
FROM Organization AS o
LEFT JOIN Industries AS i ON o.industrytype = i.Name
LEFT JOIN Location AS l ON o.Location = l.Name
这会将现有名称,联接到您的参考表(Industries
和Locations
),并检索相应文本值的Id
值。
LEFT JOIN
将从组织中恢复所有名称,但不要求他们在参考表中具有匹配的行业和位置。
答案 1 :(得分:0)
您可以这样做:
SELECT Col1, Col2
INTO TestTable
FROM OriginalTable
WHERE Conditions
请注意,只有在INTO子句中指定的表不存在时,SELECT INTO才有效
或者:
INSERT INTO TestTable (Col1, Col2)
SELECT Col1, Col2
FROM OriginalTable
WHERE Conditions