讓我們假設我有含有下列獲取最新的數據爲每個字段從一個表中的Oracle
- VISIT_DATE(時間戳)的表中調用VISITS
- HEIGHT(NUMBER)
- 腰圍(NUMBER)
- 量(數)
PATIENT_ID(NUMBER)
VISIT_DATE | HEIGHT | WAIST |重量| PATIENT_ID
10/01/2012 | (空) | 96 | 130 | 44123
11/01/2012 | 1.74 | (null) | 120 | 44123
12/01/2012 | (空) | (null) | 150 | 44123
我需要的是一個SQL SELECT語句來獲得每個列中的最新值,但忽略了空字段,所以我需要的輸出將
WHERE子句將
WHERE PATIENT_ID = 44123 ORDER BY VISIT_DATE DESC LIMIT 1
12/01/2012 | 1.74 | 96 | 150 | 44123
正如你可以從輸出看到我期望從選擇讓我後退操作通過EA爲病人排序,直到我找到每個字段的值。
我希望這個問題是明確的,可能的,我已經搜索,但至今沒有找到任何真正的解決方案,這將用於簡化與醫院一起使用的醫療系統,並且有大約100個字段以上只是幾個領域的一個例子,讓我們能夠理解所需的概念。
這不是一個好的設計,它會很難保持!如果你想保存歷史記錄 - 在另一張桌子上做,但每個病人只保留一個記錄(並分別更新) - 這會讓你的生活變得更輕鬆! – alfasin 2012-08-14 05:25:18