如何使用IF条件执行此Mysql查询

如何使用IF条件执行此Mysql查询,mysql,if-statement,conditional-statements,Mysql,If Statement,Conditional Statements,我有一个已加载数据的Mysql表(tblpart) 我有第二个包含新信息的表(TblNewParts) 我需要用TblPartsNew数据更新TblParts 如果code存在,并且Location=Global 然后更新股票和价格 如果code存在,但Location Global 然后插入具有相同code和不同位置的记录 如果code不存在,则添加它 tblpart的输出必须是: Code Stock Price Location 1 30 2000 Global 2

我有一个已加载数据的Mysql表(
tblpart

我有第二个包含新信息的表(
TblNewParts

我需要用
TblPartsNew
数据更新
TblParts

  • 如果
    code
    存在,并且
    Location=Global
    然后更新
    股票
    价格
  • 如果
    code
    存在,但
    Location Global
    然后插入具有相同
    code
    和不同
    位置的记录
  • 如果
    code
    不存在,则添加它
tblpart
的输出必须是:

Code Stock Price Location
1    30    2000   Global 
2    5     1500   Office 
3    10    5000   Global 
4    30    200    Global 
5    40    500    Global

实际上,我不知道如何执行此操作。

您必须使用单个查询来执行此操作,还是我们可以将其拆分为两个查询?当您说“and Location=Global”时,您是指
TblParts
还是
TblPartsNew
中的位置?执行此操作的方法是编写
SELECT
查询,使用
JOIN
查找
TblPartsNew
中需要添加或合并到
TblParts
中的所有行。然后在
INSERT INTO tblpart选择中使用它。。。关于重复密钥更新…
我现在必须离开,因此无法向您显示确切的查询。但我希望这足以让你自己尝试一下。谢谢你的回复。如果结果相同,我可以使用两个查询!您是必须使用单个查询还是可以将其拆分为两个查询?当您说“and Location=Global”时,您是指
TblParts
还是
TblPartsNew
中的位置?执行此操作的方法是编写
SELECT
查询,使用
JOIN
查找
TblPartsNew
中需要添加或合并到
TblParts
中的所有行。然后在
INSERT INTO tblpart选择中使用它。。。关于重复密钥更新…
我现在必须离开,因此无法向您显示确切的查询。但我希望这足以让你自己尝试一下。谢谢你的回复。如果结果相同,我可以使用两个查询!
Code Stock Price Location id
1    30    2000    Global 1
2    5     1000    Global 2
3    10    5000    Global 3
4    30    200     Global 4
5    40    500     Global 5
Code Stock Price Location
1    30    2000   Global 
2    5     1500   Office 
3    10    5000   Global 
4    30    200    Global 
5    40    500    Global