Ich versuche, zwei Zählungen zu erhalten und teile dann diese zwei Zählungen, um das Verhältnis der Punkte zu ermitteln, die ich zähle. Ich sah diesen Beitrag here und versuchte das. Ich erhalte einen Fehler in meinen Ergebnissen, keine Fehlermeldung nur falsche Nummer. Ich bin mit SQL-Server 2008Zwei Zählungen erhalten und sie dann teilen
Hier ist mein Code:
-- 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
Die Zählungen erhalten produziert und korrekt angezeigt, aber für ein Verhältnis I bekommen 0 und bin mir nicht sicher, warum ich diese.
Vielen Dank,
Dies erzeugte immer noch eine 0 ... Ich werde versuchen, die Tabellenerstellung anstatt INT zu FLOAT zu ändern. –
Count gibt immer INT zurück, egal was du in der Tabelle machst, nichts ändert sich im Countdown(), ich habe diese Abfrage getestet und es funktioniert perfekt – VahiD
lerne etwas neues jeden Tag, ich wusste nicht, dass COUNT() zurückgibt INT –