Mysql 如果在联接表中找到匹配项,请插入值
我有一个ICD9代码表,其中有几个代码没有正确编码。如果在另一个表中找不到匹配项,我想在该表的列中插入No 例如,我有一个代码292300,应该是2923。我想要像这样的东西 从icd9代码中选择icd9、icd10,其中icd9=icd10 如果没有找到icd9代码的匹配项,则插入Mysql 如果在联接表中找到匹配项,请插入值,mysql,sql,icd,Mysql,Sql,Icd,我有一个ICD9代码表,其中有几个代码没有正确编码。如果在另一个表中找不到匹配项,我想在该表的列中插入No 例如,我有一个代码292300,应该是2923。我想要像这样的东西 从icd9代码中选择icd9、icd10,其中icd9=icd10 如果没有找到icd9代码的匹配项,则插入 注:GEM表包含icd10的icd9代码及其等效映射 我们需要您的数据库模式,同时,这里有一个秘密。 先把桌子倒回去 UPDATE icd9codes LEFT JOIN GEM ON icd9codes.icd9
注:GEM表包含icd10的icd9代码及其等效映射 我们需要您的数据库模式,同时,这里有一个秘密。 先把桌子倒回去
UPDATE icd9codes
LEFT JOIN GEM ON
icd9codes.icd9 = GEM.icd9
SET icd9codes.icd9 = COALESCE(GEM.icd10,'No')
如果要在icd9codes中插入新行,那么这是一个非常简单的SELECT查询 这是对你问题最直截了当的回答。但是,我怀疑您拥有的是icd9codes中的现有行,如果GEM的icd10中存在这些行的icd9值,那么您希望更新这些行上的列值
这就是说,对于icd9codes中在GEM中具有相应值的任何行,将其“新”列值设置为“否”。显示相关表的db模式。方法如下:update table1 left join table2 on table1.col=table2.col,其中table2.col为null set table1。other_col=“ZZZ”您使用update命令赚钱了。我应该把问题说得更清楚些。我所要做的就是在另一个表中找到不匹配的代码,这样我就可以修改格式,这样我就可以将它们映射到新的代码。谢谢大家的帮助。
insert into icd9codes (icd9)
select icd10
from GEM;
update icd9codes
set the_new_column = 'No'
where exists (
select 1
from GEM
where icd10 = icd9codes.icd9
);