2012-04-11 15 views
0

コードリストとメインテーブルの間に多面的な関係があります。同じもののすべてのバリエーションである異なるテキスト値を持ついくつかの異なるコードがあります。私はANYが存在するかどうか確認したいと思います。これを行う私の方法はLIKE%what i'm looking for%を使用しています。私は、特定の文字列が他のテーブルの1つに存在するという事実に基づいて、メインテーブルのバイナリ値を更新したいと思います。
enter image description here別のテーブル内の文字列の存在に基づいてバイナリデータ型を更新します。

ここでは、私は何かをつまむことなく解決することができます。

UPDATE tblVisits 
SET variableOfInterest=1 
FROM tblVisits INNER JOIN 
icd_jxn ON tblVisits.kha_id = icd_jxn.kha_id INNER JOIN 
tblICD on icd_jxn.icd_fk=tblICD.ICD_ID 
WHERE (tblICD.Descrip LIKE N'%text of interest%') 

その説明のテキストの特定の文字列を持つ共通の属性を共有する非常に多くの異なるコードがあるので、これは代わりに、ORのトンを使用するのではそれについて移動するための最良の方法だろうと同じように、私は感じましたステートメント。私はtblVisitsに 'variableofInterest'を追加することにしました。これは古いスキーマです。

+1

あなたの命名規則は、はい、それは悪いです –

+0

...私の目を燃やしています。実際に私の全体的な、実際のスキーマを使用しているのではなく、私はちょっと離れました。プラス、これは誰かが私に与えたものからまっすぐに来ています:) – wootscootinboogie

答えて

1

あなたはEXISTSでそれを書き換えることができます:

UPDATE tblVisits 
SET variableOfInterest = 1 
FROM tblVisits 
WHERE EXISTS 
     (SELECT * 
     FROM icd_jxn 
      INNER JOIN tblICD 
      ON icd_jxn.icd_fk = tblICD.ICD_ID 
     WHERE tblICD.Descrip LIKE N'%text of interest%' 
      AND tblVisits.kha_id = icd_jxn.kha_id 
    ) 
+0

私はこれを行うと思う:)ありがとう! – wootscootinboogie

関連する問題