首页 > 解决方案 > 从上一行取一个值

问题描述

我有一个这样的 sql 表

在此处输入图像描述

这是精神病学案例的表格,它包含一个 pid,它是患者的 id 和案例的 fid,因为患者可以有多个案例。现在我有一个包含所有病例的表格,我必须生成一个病人的出口。

例如,患有 PID 123456 的患者 Max Müller 和 3 例。作为第一个案例的出口,我需要从第二个案例中获取条目是否有可能使用这样的案例语句来做到这一点

where numberOfCases > 1 then entry where numberOfCase +  else 'NULL' end as exit

最后我想要一张这样的桌子在此处输入图像描述

例如这个病人有 3 个病例(病人的名字被涂黑)我想有一个新的列出口,出口是下一个病例的入口(入口是最后一列)

在此处输入图像描述

标签: sqloracle

解决方案


您可以使用lead解析功能。

SELECT T.*,
       LEAD(ENTRY) OVER (PARTITION BY PID ORDER BY ENTRY) AS EXIT
FROM YOUR_TABLE

干杯!!


推荐阅读