2015-10-20 1 views
0

J'ai une table de codes ICD9 où plusieurs d'entre eux ne sont pas codés correctement. Je voudrais insérer "Non" dans une colonne dans cette table si une correspondance ne peut pas être trouvée dans une autre table.Insérer une valeur Si une correspondance est trouvée dans la table de jointure

Ainsi, par exemple, j'ai un code 292300 et il devrait être 2923. Je veux avoir quelque chose comme

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

Et s'il n'y a pas de correspondance trouvée pour le code ICD9 puis faire une INSERT INTO .

Remarque: La table GEM contient les codes icd9 et leurs mappages équivalents pour icd10.

+0

montrez votre schéma db pour la table liée s'il vous plaît – scaisEdge

+0

Quelque chose comme: 'mise à jour table1 gauche rejoindre table2 sur table1.col = table2.col où table2.col est null définir table1.other_col = 'ZZZ'' –

Répondre

0

Si vous insérez une nouvelle ligne dans icd9codes, cela est très simple requête SELECT.

insert into icd9codes (icd9) 
select icd10 
from GEM; 

C'est la réponse la plus littérale à votre question. Cependant, je suspecte que ce que vous avez est des lignes existantes dans icd9codes et vous voulez mettre à jour une valeur de colonne sur ces rangées, si leur valeur icd9 existe dans icd10 de GEM.

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

Cela dit, pour chaque ligne de icd9codes qui a une valeur correspondant à GEM, définir sa valeur the_new_column à No.

+0

vous étiez sur le de l'argent avec la commande de mise à jour. J'aurais dû mieux poser la question. Tout ce que je recherchais était de trouver les codes qui n'avaient pas de correspondance dans une autre table afin que je puisse corriger le formatage afin que je puisse les mapper aux nouveaux codes. Merci à tous pour votre aide. – grath

0

Nous avons besoin de votre schéma de base de données, en attendant, c'est un coup dans le noir. Sauvegardez d'abord votre table.

UPDATE icd9codes 
LEFT JOIN GEM ON 
icd9codes.icd9 = GEM.icd9 
SET icd9codes.icd9 = COALESCE(GEM.icd10,'No')