试一下:
update sq_jmtsdjb_ls tab1 set tab1.FLAG='2',tab1.SSJE=(select distinct tab2.ssje from zh_yhgd tab2
where tab1.yhh =tab2.yhh)
where tab1.yhh =tab2.yhh and tab1.tsrq='20040824';
update sq_jmtsdjb_ls tab1 set tab1.FLAG='2',tab1.SSJE=(select distinct tab2.ssje from zh_yhgd tab2
where tab1.yhh =tab2.yhh)
where tab1.yhh =tab2.yhh and tab1.tsrq='20040824';
写明白了估计就正确了
where sq_jmtsdjb_ls.yhh =zh_yhgd.yhh)
where tsrq='20040824';
这样就可以了
SSJE=
(select MIN(B.ssje) from zh_yhgd B
where B.yhh = A.yhh)
where A.yhh =B.yhh and A.tsrq='20040824';不知你zh_yhgd 中ssje是否唯一,看你tsrq是日期,如果tsrq是日期类型的话,A.tsrq='20040824'要改为TO_CHAR(A.tsrq,'YYYYMMDD') = '20040824'
update sq_jmtsdjb_ls a set a.FLAG='2',SSJE=(select ssje from zh_yhgd b
where a.yhh =b.yhh)
where a.tsrq='20040824';
where sq_jmtsdjb_ls.yhh =zh_yhgd.yhh)
where exists(sq_jmtsdjb_ls.yhh =zh_yhgd.yhh
AND zh_yhgd.tsrq='20040824');这个好像才可以吧?
呵呵,开玩笑了,不过这样应该没问题的。
SQL> update sq_jmtsdjb_ls set(FLAG,SSJE)=(select '2',ssje from zh_yhgd
2 where sq_jmtsdjb_ls.yhh =zh_yhgd.yhh)
3 where sq_jmtsdjb_ls.yhh in (select yhh from zh_yhgd) and
4 sq_jmtsdjb_ls.tsrq='20040824';谢谢大家!