1
update dkc_hsp_pi a
set a.UaID = (select uid from 
(
select uid,
emplid,
max(EFFDT) 
from sysadm.ps_ua_eds_data
group by uid,
emplid ) s)
where s.emplid = a.emplid;
4

1 に答える 1

0

エイリアス「s」は、それを使用する場所から到達できません。次のようにWHERE句をレベルを上げてみてください。

update dkc_hsp_pi a
set a.UaID = 
(
select uid from 
  (
    select uid,
           emplid,
           max(EFFDT) 
    from sysadm.ps_ua_eds_data
    group by uid, emplid 
  ) s
  where s.emplid = a.emplid
)
;

サブクエリが複数の結果を返す場合は、最初の値を に変更するか、それに応じてサブクエリを調整する必要があります"="( row_number でフィルタリングして単一の行を返すことにより)。"IN"

于 2013-05-24T18:28:30.697 に答える