试图让 case 语句中的逻辑起作用。用简单的英语我说“如果第一个表中的数量大于第二个表中的 ALOS,我想运行这个计算:
DRG_Rate=DRG_Rate + ([GMC Claims 2019].Qty-BCBS_DRG_REIMBURS.ALOS)* BCBS_DRG_REIMBURS.Per_Diem_High_Trim_Outlier
我让 Join 工作,它返回在两个表中匹配的 DRG 以及 DRG_Rate。现在我想根据上面的条件语句调整 DRG_Rate。如果你们都需要其他信息,请告诉我。感谢您的指导,我对 SQL 还很陌生!
*预期结果是:第二个表中的 11513.43 汇率 + (15-8) 2014.85 = 27,632.23
第一个表中的 15 是数量,第二个表中的 8 是 ALOS,2014.85 是第二个表中的每日异常值 **
这是我的尝试:
SELECT
CASE
DRG_Rate
WHEN [GMC Claims 2019].Qty > BCBS_DRG_REIMBURS.ALOS
THEN DRG_Rate=DRG_Rate + ([GMC Claims 2019].Qty-BCBS_DRG_REIMBURS.ALOS)* BCBS_DRG_REIMBURS.Per_Diem_High_Trim_Outlier
FROM [GMC Claims 2019] LEFT JOIN BCBS_DRG_REIMBURS ON
[GMC Claims 2019].DRG=BCBS_DRG_REIMBURS.DRG_Code
WHERE [GMC Claims 2019].DRG=BCBS_DRG_REIMBURS.DRG_Code
还有我的桌子:
CREATE TABLE [GMC Claims 2019] (
PatNo INT NOT NULL ,
PName VARCHAR(50) NOT NULL ,
HSSV VARCHAR(50) NOT NULL,
DateOfService INT,
InsName VARCHAR(50),
DRG INT,
RevCode INT,
CPT VARCHAR(50),
Qty INT ,
BilledCharges DECIMAL (9,2) NOT NULL,
);
INSERT INTO [GMC Claims 2019] (PatNo, PName, HSSV, DateOfService, InsName, DRG, RevCode, CPT, Qty, BilledCharges)
VALUES (5, 'Hisham', 'SIP', 5, 'BCBS', 439, 344, '44', 15, 500),
;
CREATE TABLE [BCBS DRG CARVE OUT 07012016] (
DRG INT NOT NULL ,
ServiceCat VARCHAR(50) NOT NULL ,
Pmt DECIMAL (8,2) NOT NULL
);
INSERT INTO [BCBS DRG CARVE OUT 07012016] (DRG, ServiceCat, Pmt)
VALUES (28, 'DRG Carve Out', 13537),
(29, 'DRG Carve Out', 13537),
(30, 'DRG Carve Out', 13537),
(101, 'DRG Carve Out', 13537);
CREATE TABLE BCBS_DRG_REIMBURS(
DRG_Code INTEGER NOT NULL PRIMARY KEY
,Description VARCHAR(200)
,DRG_Weight NUMERIC(8,5) NOT NULL
,ALOS INTEGER NOT NULL
,High_Trim INTEGER NOT NULL
,Effective_Date DATE
,DRG_Rate NUMERIC(9,2) NOT NULL
,Per_Diem_High_Trim_Outlier NUMERIC(8,2) NOT NULL
);
INSERT INTO BCBS_DRG_REIMBURS(DRG_Code,Description,DRG_Weight,ALOS,High_Trim,Effective_Date,DRG_Rate,Per_Diem_High_Trim_Outlier) VALUES (439,'DISORDERS OF PANCREAS EXCEPT MALIGNANCY W CC',0.86230,4,7,NULL,11513.43,2014.85);
答案 0 :(得分:0)
我感觉到您有条件地向现有 DRG 率添加一个值,因此我将其表示为通常为零的调整。无论哪种方式,您的问题主要是语法问题。
DRG_Rate +
CASE WHEN [GMC Claims 2019].Qty > BCBS_DRG_REIMBURS.ALOS
THEN ([GMC Claims 2019].Qty - BCBS_DRG_REIMBURS.ALOS) * BCBS_DRG_REIMBURS.Per_Diem_High_Trim_Outlier
ELSE 0
END