1
加入我有一個表,如下更新與自我在Sybase
COAR_ID COCE_ID COCI_TYPE BRKR_NM AGNCY_NM
123 123 P abc
123 231 G def
123 331 G ghi
我想爲COCI_TYPE更新AGNCY_NM = P其中,max(COCE_ID)和COCI_TYPE = 'G'
所以輸出應該
COAR_ID COCE_ID COCI_TYPE BRKR_NM AGNCY_NM
123 123 P abc ghi
123 231 G def
123 331 G ghi
IM使用下面的更新查詢是
UPDATE Table
SET
AGNCY_NM = BB.AGNCY_NM
,UPDT_NBR = 3
FROM
Table AA
,Table BB
WHERE
AA.COAR_ID=BB.COAR_ID
AND AA.COCI_TYPE='P'
AND BB.AGNCY_NM <> ''
AND AA.UPDT_NBR <> 3
AND BB.COCE_ID=(SELECT MAX(CC.COCE_ID) FROM Table CC WHERE CC.COAR_ID=BB.COAR_ID)
它正在按預期工作,但我不想再次使用相同的表格,因爲它可能會導致性能問題。
任何更好的解決方案來更新列?
感謝, DHIRAJ