Transact-SQL:如果数据为';t相关
我有3个表格,其中两个相关(姓名和性别):Transact-SQL:如果数据为';t相关,sql,sql-server,tsql,sql-server-2012,ssms,Sql,Sql Server,Tsql,Sql Server 2012,Ssms,我有3个表格,其中两个相关(姓名和性别): Staging(id、姓名、性别) Name(id,Name genderID) 性别(id,性别) 数据已经以非规范化的方式“转储”到暂存(id、姓名、性别),现在我正在尝试规范化数据 我需要能够使用t-sql执行以下操作 将临时表中的名称插入名称表 从性别表中获取id,并将其作为外键插入到名称表中 问题是性别和姓名表与登台无关,所以我试图理解该事务应该如何工作的逻辑 我的假设是,我需要以某种方式使用某种类型的子查询将插入SELECT,但我只是不知所
Staging(id、姓名、性别)
Name(id,Name genderID)
性别(id,性别)
数据已经以非规范化的方式“转储”到暂存(id、姓名、性别)
,现在我正在尝试规范化数据
我需要能够使用t-sql执行以下操作
我的假设是,我需要以某种方式使用某种类型的子查询将插入SELECT,但我只是不知所措。谢谢。是的,您需要
插入…选择。通过列Gender
将表staging
与Gender
连接,这样您就可以获得ID
INSERT INTO Name (ID, Name, GenderID)
SELECT s.id, s.name, g.id
FROM Staging s
INNER JOIN Gender g
ON s.gender = g.gender
是的,您需要插入到…选择。通过列Gender
将表staging
与Gender
连接,这样您就可以获得ID
INSERT INTO Name (ID, Name, GenderID)
SELECT s.id, s.name, g.id
FROM Staging s
INNER JOIN Gender g
ON s.gender = g.gender
哦:)我不知道执行连接不需要建立关系。我喜欢这个网站,谢谢。哦:)我不知道不需要建立关系就可以执行加入。我喜欢这个网站,谢谢。