我是MySQL新手(目前正在测试MySql Workbench)。
我创建的是两个表(第一个Team_information,其中包含诸如Member_ID,Member_name,Team_manager之类的列)
我想要做的是将Team_manager信息添加到同一方案的另一个(Monthly_review)表中(其中也包含上述列)。
使用以下声明:
Insert Into Monthly_review (Team_manager)
select Team_manager
FROM Team_information
where Member_Name = 'Silvia Ivanova" and Member_ID = 17;
请注意,上述值(Silvia Ivanova和会员ID均在两个表格中添加" team_information"以及" Monthly_review")。
执行查询后会发生什么 - 我得到了团队经理的名字,但遗憾的是不在会员ID 17所在的同一行,但是它被添加到新的。
我做错了什么?
非常感谢提前。
换句话说。
我想:
仅在满足特定条件时才将数据从一个表插入另一个表。
另一个例子: 在表格#34; Team_information" ' Silvia Ivanova'对应于Member_ID' 17'以及团队经理Ivan Petrov' 。 (当然,我有其他行,不同的人有不同的ID和不同的团队经理)。
在" Monthly_review"我有' Silvia Ivanova"她对应于member_id 17(作为第一个表)。我在这里有一个空白列" Team_manager",我想根据会员ID号添加团队经理的姓名。
希望这会有更多的亮点。
再次,非常感谢您的耐心等待。
答案 0 :(得分:2)
我相信您需要update
而不是insert
:
update Monthly_review mr join
Team_information ti
on ? = ?
set mr.Team_manager = ti.team_manager
where ti.Member_Name = 'Silvia Ivanova' and ti.Member_ID = 17;
目前尚不清楚join
条件应该是什么。如果我不得不猜测ti.Member_Id = mr.Member_Id
。