我試圖得到兩個計數,然後將這兩個計數分開以獲得我計算的項目的比率。我看到這個帖子here並嘗試過。我在結果中收到錯誤,沒有錯誤消息,但數字不正確。我使用的SQL Server 2008的獲得兩個計數,然後將它們分開
這裏是我的代碼:
-- 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
計數得到生產和正常顯示,但對於一個比我得到0,我不知道,爲什麼我得到這個。
謝謝,
這仍然產生了0 ...我將嘗試更改表創建而不是INT到FLOAT。 –
Count總是返回INT,所以無論你在表中做什麼,Count()的返回類型都沒有變化,我測試了這個查詢,它的工作完美 – VahiD
每天學習新東西,我不知道COUNT()返回INT –