0

我有一张 ICD9 代码表,其中有几个没有正确编码。如果在另一个表中找不到匹配项,我想在该表的列中插入“否”。

例如,我有一个代码 292300,它应该是 2923。我想要类似的东西

SELECT icd9, icd10 from icd9codes, GEM where icd9 = icd10;

如果找不到 icd9 代码的匹配项,则执行INSERT INTO.

注意:GEM 表包含 icd9 代码及其对 icd10 的等效映射。

4

2 回答 2

0

同时,我们需要您的数据库模式,这是在黑暗中的一枪。先备份你的桌子。

UPDATE icd9codes
LEFT JOIN GEM ON
icd9codes.icd9 = GEM.icd9
SET icd9codes.icd9 = COALESCE(GEM.icd10,'No')
于 2015-10-20T18:52:03.420 回答
0

如果要在 中插入新行icd9codes,那么这是一个非常简单的SELECT查询。

insert into icd9codes (icd9)
select icd10
from GEM;

这是对你问题的最直接的回答。但是,我怀疑您拥有的是现有行,icd9codes并且您想要更新这些行上的列值,如果它们的icd9值存在icd10GEM.

update icd9codes
set the_new_column = 'No'
where exists (
  select 1
  from GEM
  where icd10 = icd9codes.icd9
);

icd9codes这就是说,对于在中具有相应值的任何行GEM,将其the_new_column值设置为No

于 2015-10-20T18:52:47.207 回答