2017-02-08 10 views
0

私は4つのテーブルを持っています。条件式を使用して表の値を更新できますか?

enter image description here

識別子が異なっています。したがって、表4には、両方の表を接続するためのデータがあります。しかし、表1と他の3つの表の間には関係がありません。

表2と表3のカウントが一致するかどうかを検証する必要があります。比較の結果を持つには、私は例えばの合格/不合格

を表1にUDPATEする必要があります。表2のカウントは表に3

+0

を働くことを願っています。 –

+1

サンプルデータと望みの結果は本当にあなたがしたいことを説明するのに役立ちます。 –

+0

テーブルの画像をクリックします。ここには4つのテーブルがあります。表2と表3が一致するかどうかを検証したい。例えば:表2の数は表3に等しい。しかし、識別子は異なる。したがって、表4には、両方の表を接続するためのデータがあります。比較の結果について。私は合格/不合格で表1を捨てたい –

答えて

2

使用JoinsそれともIF EXISTS

UPDATE T1 SET checklist = 'SOMETHING' 
FROM TABLE1 T1 
INNER JOIN TABLE2 T2 ON T1.FIELDVALUE = T2.FIELDVALUE 
INNER JOIN TABLE3 T3 ON T1.FIELDVALUE = T3.FIELDVALUE 

OR

に等しいです。
UPDATE TABLE1 SET checklist = 'SOMETHING' 
WHERE EXISTS(SELECT 1 FROM TABLE2 WHERE TABLE1.FIELDVALUE = TABLE2.FIELDVALUE) 
AND EXISTS(SELECT 1 FROM TABLE3 WHERE TABLE1.FIELDVALUE = TABLE3.FIELDVALUE) 

UPDATE:コメント

から

enter image description here

IF EXISTS(
SELECT 1 
FROM TABLE4 T4 
INNER JOIN TABLE2 T2 ON T4.Identifier = T2.Identifier 
INNER JOIN TABLE3 T3 ON T4.Identifier_ = T3.Identifier2 
AND T2.COUNT <> T3.COUNT 
) 
BEGIN 
UPDATE TABLE1 SET RESULTS = 'Fail' 
END 
ELSE 
BEGIN 
UPDATE TABLE1 SET RESULTS = 'Pass' 
END 
+0

私を助けてくれてありがとう。ただし、2番目と3番目の表には共通の値があり、表1はこれら2つの表には全く関係ありません。しかし、比較結果はTable1に更新する必要があります。 –

+0

これは、テーブル構造、サンプルデータ、および予想される出力を提供するまでは不明なままです。 @KrishnaTeja –

+0

[テーブルの画像をクリック](https://i.stack.imgur.com/ayOdl.png)を編集してください。ここには4つのテーブルがあります。表2と表3が一致するかどうかを検証したい。例えば:表2の数は表3に等しい。しかし、識別子は異なる。したがって、表4には、両方の表を接続するためのデータがあります。比較の結果について。私は合格/不合格とそれぞれのコメントと表1をudpateしたい。 –

0
update one 
set one.assid = two.assid 
from tableone_name one 
inner join table_2 two on 
    one.id = two .udid 
inner join table_2 th on 
    one.id_1 = th .id_3 

あなたがより良い何を試したし、どのようなあなたの期待される結果を投稿したい

関連する問題