2013-04-05 72 views
0

我試圖從DB2數據庫的CLOB字段中刪除最後10個字符。我可以這樣做使用:如何根據相關表更新DB2中的值的子集?

UPDATE report 
SET  comment = LEFT(comment, (LENGTH(comment) - 10)) 

不過,我想截斷限制基於報告是否是在本報告期的行的子集。我想這...

UPDATE report 
SET  comment = 
     ( SELECT LEFT(comment, (LENGTH(comment) - 10)) 
      FROM report 

        INNER JOIN report_period 
        ON report.report_period_id = report_period.report_period_id 

      WHERE report_period.name = '2013 Interim Report' ) 

...但我得到

The result of a scalar fullselect, SELECT INTO statement, or 
VALUES INTO statement is more than one row 

我在做什麼錯?

回答

0

沒關係......問這個問題有助於在我腦海中清除它。剛剛必須將連接移到WHERE子句....

UPDATE report 
SET  comment = LEFT(comment, (LENGTH(comment) - 10)) 
WHERE report_id IN 
     ( SELECT report_id 
      FROM report 

        INNER JOIN report_period 
        ON report.report_period_id = report_period.report_period_id 

      WHERE report_period.name = '2013 Interim Report' ) 
相關問題