두 카운트를 얻고이 두 카운트를 나누어서 제가 계산할 항목의 비율을 얻으려고합니다. 나는이 게시물 here을보고 그것을 시도했다. 내 결과에 오류가 발생하며 오류 번호가 잘못 표시됩니다. 나는 SQL-Server 2008을2 카운트를 얻은 다음이를 나눕니다.
를 사용하고하는 것은 여기 내 코드입니다 :
-- INTERNAL PEPPER REPORT
--#####################################################################
-- VARIABLE DECLARATION AND INITIALIZATION
DECLARE @SD DATETIME
DECLARE @ED DATETIME
SET @SD = '2013-01-01'
SET @ED = '2013-03-31'
-- TABLE DECLARATION ##################################################
DECLARE @TABLE1 TABLE(NUMERATOR INT, DENOMINATOR INT, RATIO INT)
--#####################################################################
-- WHAT GETS INSERTED INTO TABLE 1
INSERT INTO @TABLE1
SELECT
A.NUM, A.DENOM, A.NUM/A.DENOM
FROM
(
-- COLUMN SELECTION. TWO NUMBERS WILL REPRESENT A NUM AND A DENOM
SELECT
(SELECT COUNT(DRG_NO)
FROM smsdss.BMH_PLM_PtAcct_V
WHERE drg_no IN (061,062,063,064,065,066)
AND Adm_Date BETWEEN @SD AND @ED
AND PLM_PT_ACCT_TYPE = 'I')
AS NUM,
(SELECT COUNT(DRG_NO)
FROM smsdss.BMH_PLM_PtAcct_V
WHERE drg_no IN (061,062,063,064,065,066,067,068,069)
AND Adm_Date BETWEEN @SD AND @ED
AND Plm_Pt_Acct_Type = 'I')
AS DENOM
)A
SELECT NUMERATOR, DENOMINATOR, RATIO
FROM @TABLE1
카운트 생산하고 올바르게 표시되지만 비율에 대한 I는 0을 얻고 난이 얻을 이유를 잘 모르겠습니다 얻을.
고마워요,
이것은 여전히 0을 생성했습니다 ... INT 대신 FLOAT로 테이블 생성을 변경하려고합니다. –
Count가 항상 INT를 반환하므로 Count()의 반환 유형에는 아무런 변화가 없으며이 쿼리를 테스트하여 완벽하게 작동했습니다. – VahiD
새로운 일상을 배울 때 COUNT()가 INT를 반환한다는 것을 몰랐습니다 –