0

作業中の SP で、「式をデータ型 int に変換中に算術オーバーフロー エラーが発生しました」というエラーが表示されます。問題のあるクエリを引き出しました(他のクエリも同様です)。

何が原因なのかよくわかりません。私の唯一の考えは、11行目のCOUNT(個別のSub_ID + Sub_Dep_Numberです。この連結は2つの文字列ですが、数値形式である可能性があるため、それらを追加しようとしている可能性があると思います.

何かご意見は?

ありがとう

SELECT  Distinct   countSubs.[Number Dependents] AS [Number Dependents], 
    (AVG((YEAR(GETDATE())- Year(Individual.Sub_Dep_DOB)))) AS [Average Age], [Group_Base].Group_Base_Name, 
    Individual.State_Code, [Group_Base].BASE_GROUP_NO
        , [Plan].Group_Address, [Plan].Group_City, [Plan].Group_State, [Plan].Group_ZIP
    FROM Individual 
    INNER JOIN 
    Group_Base ON Individual.Group_Base = Group_Base.BASE_GROUP_NO
    INNER JOIN 
    [Plan] ON [Group_Base].BASE_GROUP_NO = [Plan].BASE_GROUP_NO
    INNER JOIN
    (Select Distinct Individual.Group_Base,COUNT(Distinct (Sub_ID + Sub_Dep_Number)) [Number Dependents]
     From Individual
     Where State_Code = 'OH'
     and Individual.Sub_Dep_Number <> '0'
     AND ((Individual.Sub_Cancel_Indicator = 'false' AND Individual.Sub_Dep_Effective_DT <= '5/5/2013') 
OR
(Individual.Sub_Cancel_Indicator = 'true' AND ((Sub_Dep_Cancel_DT BETWEEN '5/1/2013' AND '5/5/2013') 
AND(Sub_Dep_Effective_DT <= '5/5/2013'))))
     AND Individual.RegComp_SystemSource = 'Genelco'
     AND (Individual.Benefit_Effective_DT != Individual.Benefit_Cancel_DT)
     Group by Individual.Group_Base) as countSubs 
     ON (countSubs.Group_Base = [Group_Base].BASE_GROUP_NO)
    --WHERE   ((Individual.Sub_Cancel_Indicator = 'false' AND Individual.Benefit_Effective_DT <= '5/5/2013') 
--OR 
--(Individual.Sub_Cancel_Indicator = 'true' AND ((Benefit_Cancel_DT BETWEEN '5/1/2013' AND '5/5/2013') 
--AND(Benefit_Effective_DT <= '5/5/2013'))
WHERE   ((Individual.Sub_Cancel_Indicator = 'false' AND Individual.Sub_Dep_Effective_DT <= '5/5/2013') 
OR
(Individual.Sub_Cancel_Indicator = 'true' AND ((Sub_Dep_Cancel_DT BETWEEN '5/1/2013' AND '5/5/2013') 
AND(Sub_Dep_Effective_DT <= '5/5/2013'))
))                  
    AND (Individual.Sub_Dep_Number <> '0')
    AND (Year(Individual.Sub_Age)) >= '30'
    AND (Individual.Benefit_Effective_DT != Individual.Benefit_Cancel_DT)
    AND (Individual.State_Code = 'OH')
    AND Individual.RegComp_SystemSource = 'Genelco'
    GROUP BY [Group_Base].Group_Base_Name, [Number Dependents],
    Individual.State_Code, [Group_Base].BASE_GROUP_NO
        , [Plan].Group_Address, [Plan].Group_City, [Plan].Group_State, [Plan].Group_ZIP
4

1 に答える 1