0

sybtaxに従って、IP_IDを使用して2つのテーブルを比較することにより、あるテーブルから別のテーブルの値を更新しようとしています。

UPDATE EDWID02.CUSTOMER_MOBILE t1
   SET T1.MOBILE = (
      SELECT T2.MOBILE
      FROM EDWID02.NEW_MOBILE t2
      WHERE T1.IP_ID=T2.IP_ID)

私が見つけたエラーはDB2データベースエラーでした:

ERROR [21000] [IBM][DB2/AIX64] SQL0811N  The result of a scalar fullselect, 
SELECT INTO statement, or VALUES INTO statement is more than one row.  
SQLSTATE=21000

=をに変更しても、別のエラーDB2データベースエラーが表示されます。

ERROR [42601] [IBM][DB2/AIX64] SQL0104N  An unexpected token "in" was found
following "t1    SET T1.MOBILE".  Expected tokens may include:  "=".
SQLSTATE=42601

DB2でコーディングしています。

4

1 に答える 1

0

あなたの誤解

'UPDATE t1 SET value=onevalue'

onevalueは単一の値である必要があります。これは、(SELECT value FROM t2 WHERE t1.id = t2.id FETCH FIRST 1 ROW ONLY)によって実現できます。

于 2013-01-14T14:03:59.220 に答える