İki sayı almayı deniyorum ve sonra saydığım öğelerin oranını almak için bu iki sayımı bölüyorum. Bu yazıyı here gördüm ve denedim. Sonuçlarda bir hata alıyorum, hata mesajı sadece yanlış numara. Ben SQL Server 2008İki kez sayma ve sonra bölme
kullanıyorum İşte benim kodudur:
-- 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
sayımları üretilen ve doğru şekilde gösteriliyordu fakat bir oran için ben 0 olsun ve bana böyle neden olarak emin değilim olsun.
iki tamsayılar
Bu hala üretildi 0 ... INT FLOAT yerine tablo oluşturma işleminde denemek ve değiştirmek için gidiyorum. –
Sayım her zaman INT değerini döndürür, bu yüzden tabloda yaptığınız hiçbir şey yok, Count türünde hiçbir şey değişmez(), bu sorguyu test ettim ve – VahiD
her gün yeni bir şeyler öğrendim, COUNT() öğesinin INT –