更新多个字段SQL

时间:2013-09-20 11:12:04

标签: sql oracle

您好我的问题是我想使用多个表中的另一个字段来更新1个表中的字段,具体取决于项目的起源我唯一的问题是我尝试更新的表中有几个相同的值,因此得到'单行子查询返回超过1行'。我不介意所有更新的字段具有相同的值。继承我的SQL:

update URL_SET_TAB u
Set U.ITEM_NAME = (select a.PROGRAMME_NAME
                   from (SELECT (nvl(nvl(b.prog_name,c.movie_name), A.URL_1)) as programme_name, a.ID, a.URL_1
                         FROM URL_SET_TAB a, prog_name_lookup b, movie_name_lookup c 
                         where a.url_1 = b.url_1(+) and a.url_1 = C.MOVIE_URL(+)
                         ) a
                   where u.ID = a.ID and U.URL_1 = a.URL_1
                   )

1 个答案:

答案 0 :(得分:0)

您需要标识一个键列,该列在匹配URL_SET_TAB和内联视图时,以便子查询仅返回单个记录。这是UPDATE子句的限制。

谢谢, 阿迪亚