特定の基準に基づいてカウントしようとしていますが、基準を正しく取得できません。
- 口座の種類を除外: (8) 非会員の債券償還。(15) 制限された財産。(16) エステート無制限、(17) ディーラー直接。
- 警告コードが 50 で、共有 ID が 01 で、90 日以上閉鎖されているアカウントを除外する
- 死亡者を除外
- 重複する社会保障番号を除外する
これは私のクエリです:
;with records as
(
select AD.AccountNumber AS ACCOUNT_NUMBER,
SD.ShareType AS TYPE,
SD.SharePrimeNameSSN AS SSN,
AD.AccountPrimeLongName AS NAME,
SD.PROCESSDATE AS DATE,
row_number() over (partition by SD.sharePrimeNameSSN
order by SD.SHARETYPE ASC) N
from arcu.ARCUAccountDetailed AD
join arcu.ARCUShareDetailed SD
on AD.accountnumber = sd.accountnumber AND
AD.ProcessDate = SD.ProcessDate
where
AD.AccountPrimeNameDeathDate IS NULL AND
AD.AccountStatus = 'OPEN' AND
SD.ShareStatus = 'OPEN' AND
(SD.ShareType != '8' AND SD.ShareType != '15' AND SD.ShareType != '16'
AND SD.ShareType != '17') AND
(((AccountWarningcode1 != '50' AND
AccountWarningcode2 != '50' AND
AccountWarningcode3 != '50' AND
AccountWarningcode4 != '50' AND
AccountWarningcode5 != '50' AND
AccountWarningcode6 != '50' AND
AccountWarningcode7 != '50' AND
AccountWarningcode8 != '50' AND
AccountWarningcode9 != '50' AND
AccountWarningcode10 != '50' AND
AccountWarningcode11 != '50' AND
AccountWarningcode12 != '50' AND
AccountWarningcode13 != '50' AND
AccountWarningcode14 != '50' AND
AccountWarningcode15 != '50' AND
AccountWarningcode16 != '50' AND
AccountWarningcode17 != '50' AND
AccountWarningcode18 != '50' AND
AccountWarningcode19 != '50' AND
AccountWarningcode20 != '50') AND
(ShareID = 001 AND ShareCloseDate >= (GetDate() - 90)))
AND
AccountPrimeNameDeathDate is null
))
select Count(*) from records
where N = 1
次のエラーが表示されます
Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value '5.00' to data type int.