UPDATE  table1 set field1= (case when CAST(ISNULL(XX1 , 0) AS NUMERIC) = ( SELECT SUM(XX2) FROMXXX ) or XX1='' then 'Y' else 'N' end)

解决方案 »

  1.   

    UPDATE  table1 set field1=
    case when case when XX1='' or XX1 is null
                   then 0
                   else cast(XX1 AS NUMERIC)
              end=(SELECT ISNULL(SUM(XX2),0) FROMXXX )
         then 'Y'
         else 'N'
    end
      

  2.   

    UPDATE  table1 set field1 = case when (case when xx1 is null then 0.0 when xx1='' then 0.0 else CAST(XX1 AS NUMERIC) end) = ( SELECT SUM(XX2) FROMXXX ) then 'Y' else 'N'