2012-03-08 17 views
0

2つの列の値と比較してテーブルの値を更新したい。2つの列の値を持つテーブルを更新する

クエリ

UPDATE acc SET slloc = 
    (SELECT Location 
    FROM Duplication$ 
    WHERE Duplication$.GROUP1 = acc.grpcd 
     AND acc.ccode = Duplication$.div) 

サブクエリとしてエラーを示す上記のクエリは、複数の値を返し。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。 ステートメントが終了しました。

どのように私は私のクエリを変更することができます

答えて

1

だけ... JOINを使用するようにUPDATEを書き換え、あなたが好きなようにあなたは、できるだけ多くの行を更新することができます

UPDATE a SET slloc = d.Location 
FROM acc a 
JOIN Duplication$ d ON d.GROUP1 = a.grpcd 
       AND d.div = a.ccode 
0

このエラーメッセージは、複数のLocationがあることを意味します

Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div 

が真であるが。可能であれば、必要に応じて戦略を再考する必要があります。

関連する問題