2017-02-24 131 views
0

我試圖在我的訪問數據庫中編寫查詢。在這個數據庫中,我有一個名爲tblPCL的表,其中有1000個記錄,一些患者有3-4個PCL分數。如何選擇最接近的日期不爲空的分數

我需要編寫一個查詢,它將從tblPCL中爲每個患者選擇一個PCLScore不是Null且距離今天的日期最近的患者記錄。我一直在嘗試不同的組合,但這是我在嘗試中最接近的。我試圖在這裏修改另一個論壇的代碼,但我對我可能做錯了什麼感到困惑。

我對查詢中的其他變量也有條件: 在PCLScore上我有條件「不是空的」,在PCLStatus上我有= 1,因爲那樣只會記錄有分數的記錄。

我的表: enter image description here

錯誤: enter image description here

這裏是我試圖寫的語法。

(select from [tblPCL_PHQ]![VisitDate] where [tblPCL_PHQ]![VisitDate] > Date() 
order by blPCL_PHQ]![PCLScore]) 

請原諒我缺乏SQL技能,並感謝您對先進的任何幫助。

+0

mysql與ms access不一樣sql – trincot

+0

您寫下「每位患者」......患者ID在哪裏?請發佈完整的SQL(從您擁有的查詢的「SQL視圖」複製它)。 – trincot

+0

如果我的回答有幫助,如果您將其標記爲接受的答案,我將不勝感激:) –

回答

0

select from看起來不對。它應該使用適當的列名讀取select [column_name1, column_name2, ...]。你的where子句可以使用

WHERE VisitDate = (SELECT MAX(VisitDate FROM [tableName] WHERE PCLScore IS NOT NULL) 

,只要他們在同一個表中選擇與最近的日期的行。

+0

非常感謝您的幫助! =) –