首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从另一个表中插入值

从另一个表中插入值
EN

Stack Overflow用户
提问于 2013-04-10 05:01:43
回答 2查看 238关注 0票数 0

我试图使用来自另一个表字段的输入插入到字段中。虽然这对于许多数据库引擎是完全可行的,

我有以下领域,

新表模式

  • 名字
  • 工业(Int)
  • 位置int(Int)

但实际的记录是,

  • xxxx
  • 案文(varchar)
  • 文本(Varchar)

但我想要这两个工业和位置id从另一个桌子工业,地点。

我还有两张桌子

工业

  • Id
  • 名字

地点

  • Id
  • 名字

我的查询是,

代码语言:javascript
运行
复制
select'insert into organizations(name,industryid,locationid)
values
('''+
Nameofthecompany+''','+
Isnull(industrytype,'Null')+','+
ISNULL(Location,'Null')+')' 
from Organization`

结果

代码语言:javascript
运行
复制
insert into organizations(name,industryid,locationid) 
values 
('Swamy',Telcom,Chennai)

预期结果

代码语言:javascript
运行
复制
insert into organizations(name,industryid,locationid)
values
('Swamy',12,150)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-10 05:04:27

如果当前/实际记录已经在查询中所示的名为Organization的表中,则可以使用此方法填充新的Organizations表:

代码语言:javascript
运行
复制
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

这将获取现有名称,连接到您的引用表(IndustriesLocations),并检索相应文本值的Id值。

LEFT JOIN将从组织中提取所有的名称,但不要求它们在参考表中具有匹配的行业和位置。

票数 2
EN

Stack Overflow用户

发布于 2013-04-10 05:04:26

你可以这样做:

代码语言:javascript
运行
复制
SELECT Col1, Col2
INTO TestTable
FROM OriginalTable
WHERE Conditions

注意,如果INTO子句中指定的表不存在,SELECT INTO才有效。

或者:

代码语言:javascript
运行
复制
INSERT INTO TestTable (Col1, Col2)
SELECT Col1, Col2
FROM OriginalTable
WHERE Conditions
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15917306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档