SELECT all.DIV_CD AS RESULT
FROM ( SELECT a.MILE_POST MP_BEG,    b.MILE_POST MP_END, c.DIVISION_CODE DIV_CD,c.SDIV_ID, d.SDIV_NAME DIV_NM
    FROM RIS.TFEATURE_LOC a, RIS.TFEATURE_LOC b, RIS.TSUBDIVISION_BNDRY c, RIS.TSUBDIVISION_NAME d
    WHERE a.LINE_SEG_NBR = 7300     
    AND c.LOC_ID_BEG = a.LOC_ID
    AND c.LOC_ID_END = b.LOC_ID
    AND d.SDIV_ID = c.SDIV_ID
    AND c.SDIV_SEG_STATUS IN  ('ML','BR','YD','SP','MR','J1'))
AS all 
WHERE all.MP_BEG <= 498000.083    AND all.MP_END >= 498000.083从这个sql语句中得到的结果是:KC我想把它的结果更新成:COupdate 语句应该怎么写?

解决方案 »

  1.   

    结果更新,是什么意思?
    更新表TSUBDIVISION_BNDRY的DIVISION_CODE的值?
      

  2.   


     UPDATE RIS.TSUBDIVISION_BNDRY C
        SET C.DIVISION_CODE = 'CO'
      WHERE EXISTS (SELECT 1
               FROM (SELECT A.MILE_POST MP_BEG, B.MILE_POST MP_END
                       FROM RIS.TFEATURE_LOC      A,
                            RIS.TFEATURE_LOC      B,
                            RIS.TSUBDIVISION_NAME D
                      WHERE A.LINE_SEG_NBR = 7300
                        AND C.LOC_ID_BEG = A.LOC_ID
                        AND C.LOC_ID_END = B.LOC_ID
                        AND D.SDIV_ID = C.SDIV_ID
                        AND C.SDIV_SEG_STATUS IN
                            ('ML', 'BR', 'YD', 'SP', 'MR', 'J1')) AS ALL
              WHERE ALL.MP_BEG <= 498000.083
                AND ALL.MP_END >= 498000.083)