假设我有一个名为 VISITS 的表,其中包含以下内容
- VISIT_DATE(时间戳)
- 高度(数字)
- 腰围(数字)
- 重量(数量)
PATIENT_ID (NUMBER)
访问日期| 高度 | 腰围 | 重量 | PATIENT_ID
2012 年 10 月 1 日 | (空) | 96 | 130 | 44123
2012 年 11 月 1 日 | 1.74 | (空) | 120 | 44123
2012 年 12 月 1 日 | (空) | (空) | 150 | 44123
我需要的是一个 sql select 语句来获取每列的最新值,但忽略空字段,所以我需要的输出是
WHERE 子句将是
WHERE PATIENT_ID = 44123 ORDER BY VISIT_DATE DESC LIMIT 1
12/01/2012 | 1.74 | 96 | 150 | 44123
正如您从输出中看到的那样,我希望从选择中获得我正在为患者向后退一步,直到找到每个字段的值。
我希望这个问题是明确的和可能的,我已经搜索但到目前为止还没有找到任何真正的解决方案,这将用于简化医院使用的医疗系统,上面大约有 100 个领域只是一个几个字段的示例,以了解所需的概念。