【发布时间】:2018-12-13 18:08:59
【问题描述】:
SQL 新手,我正在使用查询结构。
让我们再试一次。
我正在尝试嵌套两个单独的代码,因此最终输出如下所示:
FIN Level1 Level2 Level 3 FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 1 0 1 9284 200 9283 100 100
2 0 1 1 9284 200 9281 50 150
第一个代码(称为代码 X)生成下表。此代码的目的是将具有相同 FIN 的记录连接成一行,并创建 DELTA 变量和 CHARGES 变量。
USE EMTCQIData
SELECT FIN, Clinical, FCT_MAX, FCT_MAX_CHARGES, CPT, CPT_CHARGES,
(FCT_MAX_CHARGES - CPT_CHARGES) AS DELTA
FROM
(
SELECT CONC.[Financial Number] as FIN, CONC.Clinical,
CASE
WHEN CONC.Clinical like '%level 5%' THEN '99285'
END FCT_MAX,
CASE
WHEN CONC.Clinical like '%level 5%' THEN CAST($3768 AS int)
END FCT_MAX_CHARGES,
CPT.CPT,
CASE
WHEN CPT.CPT like '99285' THEN CAST($3768 AS int)
END CPT_CHARGES
FROM CPT_MASTER as CPT
INNER JOIN
(
SELECT DISTINCT ST2.[Financial Number],
SUBSTRING(
(
SELECT ','+ST1.[Clinical Event Result] AS [text()]
FROM ED_FCT_Q1_FY19 ST1
WHERE ST1.[Financial Number] = ST2.[Financial Number] AND ST1.[Clinical Event Result]<> 'No'
Order BY [Financial Number]
FOR XML PATH ('')
), 2, 1000) [Clinical]
FROM ED_FCT_Q1_FY19 ST2
)
as CONC ON CONC.[Financial Number]=CPT.FIN
WHERE CPT.CPT LIKE '9928%'
)
AS COMPLETE
ORDER BY FIN
代码 X 中的表格
FIN Clinical FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 Discharge[Level1] Transfer[Leve3] 9284 200 9283 100 100
我想要此表的唯一更改是临床列按级别解析。因此,例如,任何临床 1 级事件都会有自己的列,对于 2 级、3 级一直到 5 级事件也是如此。
为了解析出事件,我开发了另一个代码(CODE Z)见下文,这段代码解析出 CLINICAL EVENT COLUMN;但是,它不会连接列,下面是示例输出:
FIN Level1 Level 2 Level3 ...
1 1 0 1
1 0 0 1
2 1 1 1
3 0 0 1
3 1 1 1
代码 Z
SELECT [Financial Number], [Clinical Event Result],
CASE
WHEN [Clinical Event Result] like '%1:1 Nursing care%' Then '1'
ELSE '0'
End [1:1 Nursing Care]
...
FROM ED_FCT_Q1_FY19
我的来源数据: ED_FCT_Q1_FY19 具有以下列- 财务编号、临床事件结果、收费代码 此数据在多行中包含相同的财务编号
CPT_MASTER- 鳍,中华映管 此数据在多行中包含相同的 FIN
如前所述,最终所需的表将仅包含唯一的 FIN/财务 ID。 FIN 可以链接到财务 ID。
【问题讨论】:
-
既然您“尝试”和“遇到困难”,请发布您尝试的代码和您遇到的错误。从您迄今为止发布的内容中无法判断您正在尝试做什么。
-
感谢@TabAlleman!我更新了上面的帖子以反映我失败的尝试。我很抱歉没有遵守发帖礼仪!感谢您的时间和回应!
-
您的最后一个案例对于初学者来说没有“END”......它只有“ND”。
-
@pmbAustin,抱歉,复制和粘贴时出错。
-
对于您对 JaninCode 的回答的评论,这实际上似乎是一个 XY Problem;你为什么不改写你的问题,询问你想要做什么,你的源数据和期望的结果是什么,然后你的代码作为解决它的尝试?
标签: sql sql-server nested subquery