UPDATE PPS.PRD_BOM SET PRE_SN=y.COMP_SN
FROM PPS.PRD_BOM x,(
SELECT a.BOM_ID,a.BOM_SEQ,a.COMP_SEQ,a.COMP_PN,a.PN_SCMP,a.PRE_SN,b.COMP_SN
FROM PPS.PRD_BOM a LEFT OUTER JOIN PPS.PRD_BOM b ON a.BILL_ID=b.BILL_ID AND a.BOM_SEQ-1=b.BOM_SEQ
AND a.PN_SCMP=b.COMP_PN
AND ((a.PN_SCMP NOT LIKE '%K%') OR (a.PN_SCMP LIKE '%K%' AND a.BOM_ID BETWEEN b.BOM_ID-2 AND b.BOM_ID+2))
WHERE a.BILL_ID=11810 AND b.COMP_SN IS NOT NULL
--ORDER BY a.BOM_ID
) y WHERE x.BOM_ID=y.BOM_ID
FROM PPS.PRD_BOM x,(
SELECT a.BOM_ID,a.BOM_SEQ,a.COMP_SEQ,a.COMP_PN,a.PN_SCMP,a.PRE_SN,b.COMP_SN
FROM PPS.PRD_BOM a LEFT OUTER JOIN PPS.PRD_BOM b ON a.BILL_ID=b.BILL_ID AND a.BOM_SEQ-1=b.BOM_SEQ
AND a.PN_SCMP=b.COMP_PN
AND ((a.PN_SCMP NOT LIKE '%K%') OR (a.PN_SCMP LIKE '%K%' AND a.BOM_ID BETWEEN b.BOM_ID-2 AND b.BOM_ID+2))
WHERE a.BILL_ID=11810 AND b.COMP_SN IS NOT NULL
--ORDER BY a.BOM_ID
) y WHERE x.BOM_ID=y.BOM_ID