呵呵,不好意思,又有问题要请教大家了;
下面的SQL语句:
update tpa_mss_ho_sum_kpi a SET(succinc3gho2gintermsc,succ3gho2gintramsc,attinc3gho2gintermsc,att3gho2gintramsc)
=(SELECT b.succinc3gho2gintermsc,b.succ3gho2gintramsc,b.attinc3gho2gintermsc,b.att3gho2gintramsc
FROM tpa_mss_ho_sum_kpi b
WHERE first_result=to_char((sysdate-2)-3/24,'yyyy-mm-dd hh24:')||'00:00'
AND ne_type IN (100,1000,10000) )
WHERE exists
(select 1
from tpa_mss_ho_sum_kpi b
WHERE ne_type IN (100,1000,10000)
AND (a.record_id=b.record_id AND a.s_month=b.s_month)
AND first_result=to_char(SYSDATE-3/24,'yyyy-mm-dd hh24:')||'00:00');
上面的sql语句,紫色部分和红色部分每次都会取出多条数据。
每次执行这个语句都报错:ora-01427:单行子查询返回多于一个行。
我现在想,如果这两部分的数据量一致的话(比如都是100条数据),怎么样让它一一对应起来去UPDATE?
|