我正在尋找一種方法來使用Odata創建子查詢/子查詢。我想要創建的查詢應該如下所示:在Odata中的子選擇
SELECT *
FROM Treatment
WHERE status = 'Pos'
and ID IN (
SELECT FIRST(ID)
FROM Treatment
WHERE TreatmentTypeSK = 9
GROUP BY Person, TreatmentTypeSK
ORDER BY Date DESC
)
作爲我想要完成的一個示例,請查看以下數據。
ID Person TreatmentTypeSK Status Date
----------------------------------------------------
1 Bob 9 Pos 1/5/15
2 Bob 9 Neg 2/10/15
3 Jane 9 Pos 1/20/15
4 Jane 9 Neg 1/1/15
5 Jane 8 Pos 3/2/15
通過上面的查詢(我希望生產使用的OData),將得到返回的結果是ID 3唯一的結果,因爲它是簡氏與9 TreatmentTypeSK和狀態最新的治療記錄的POS 」。請注意,ID 2不會被返回,因爲即使Bob有一些TreatmentTypeSK 9的記錄,但最新的一個沒有'Pos'狀態。
謝謝湯姆。我已經看到了你提到的$ orderby功能。但是,這不是最大的擔憂。我真的在尋找上面查詢中顯示的子查詢的一些指導。 –
對不起,我沒有把自己弄清楚,我已經編輯了答案,希望能更清楚一些。 – TomDoesCode