2017-10-21 58 views
-4

一款擁有記錄重複行。 請求如何找到上次拜訪病人對這位醫生的多次訪問?馬克的最後日期

+4

花點心思問這個問題。您提到了4列,但圖像的列數超過6列。以文本格式發佈樣本數據和預期結果。 –

+0

我在編輯qwestion。 – Dmitry

回答

0

我假設您要求返回患者上次訪問特定醫生的記錄,並且您將由患者和醫生進行過濾。如果是這樣,試試這個:

SELECT * 
FROM 
(
SELECT * 
    ROW_NUMBER() OVER(ORDER BY date DESC PARTITION BY patient_id, doctor_id) rn 
FROM PatientsTable 
) a 
WHERE rn = 1 
AND patient_id = 1234 
AND doctor_id = 5678 
0

我想你想看看它是耐心的第一次訪問或重複訪問。如果這是真的,你可以使用這個查詢。

SELECT V.visit_id, V.patient_id, V.doctor_id, V.dd, V.h, V.mins, 
    (CASE WHEN VST.visit_id IS NOT NULL THEN 1 ELSE 0 END) repeat_visit 
FROM 
    visit_table V 
     OUTER APPLY(SELECT top 1 V1.visit_id FROM visit_table V1 WHERE V.visit_id > V1.visit_id 
     AND V.patient_id = V1.patient_id) AS VST