0
하위 쿼리에서 두 개의 열을 나누는 데 문제가 있습니다. 반환되는 유일한 대답은 0입니다. 두 개의 열을 곱한 후 제대로 작동하는지 확인하려고했습니다. 나는 그 문제가 무엇인지 알 수 없다.파생 된 순위 나누기, 하위 쿼리의 열 개수 백분위 수
SELECT cert, repdte, NAMEFULL, Rnk, Cnt, (Cnt - Rnk)/Cnt as 'Perc'
FROM
(
SELECT STRU.cert, STRU.repdte, STRU.NAMEFULL,
CASE
WHEN ISNULL(BAL.DEPI5,0) = 0 THEN NULL
ELSE (ISNULL(INC.EINTEXPA,0)/ISNULL(BAL.DEPI5,0))*100
END AS 'CoF', RANK() OVER (Partition by STRU.repdte ORDER BY
CASE
WHEN ISNULL(BAL.DEPI5,0) = 0 THEN NULL
ELSE (ISNULL(INC.EINTEXPA,0)/ISNULL(BAL.DEPI5,0))*100
END DESC) AS 'Rnk', COUNT(*) OVER (PARTITION BY STRU.repdte) as 'Cnt'
FROM MODEL_RIS_RMS_FDIC.dbo.STRU as STRU
JOIN MODEL_RIS_FDIC.dbo.CDI_RC_BAL as BAL
ON STRU.cert = BAL.cert AND STRU.callYMD = BAL.callYMD
JOIN MODEL_RIS_FDIC.dbo.CDI_RI_INC as INC
ON STRU.cert = INC.cert and STRU.callYMD = INC.callYMD
WHERE
CASE
WHEN ISNULL(BAL.DEPI5,0) = 0 THEN NULL
ELSE (ISNULL(INC.EINTEXPA,0)/ISNULL(BAL.DEPI5,0))*100
END IS NOT NULL AND STRU.callYMD >= '2008-03-31'
) A
WHERE Perc < .11
네 플로트하는 것입니다 INT 유형의 최소 값을 제공합니다 생각합니다. 그랬어. 도와 주셔서 정말로 고맙습니다. – user3456446