我有一個非常簡單的SQL初學者問題。我在我的數據庫中定義了3個表格:「醫生」,「患者」,「訪問」。爲了簡單起見,我只有這些表的一對多關係:一名醫生有很多患者,但是一名患者只能看到一名醫生,一名患者可以進行多次訪問...在我的「訪問」表中我有一個字段「時間戳」知道什麼時候是最後一次訪問。關於mySQL的非常簡單的查詢(初學者問題)
我想在MySQL上做一個「視圖」,我將爲每位醫生提供來訪的最新患者,以及最近的一位。假設每位醫生每天看到10位患者,我只想爲每位醫生提供一次訪問他的最後一位醫生。
我該怎麼做這樣的觀點?
感謝您的幫助
編輯答案1
=>謝謝!
我終於選擇了一個更現實的方法,即「患者」可以因此看到許多「醫生」 ,我的表「訪問」將是這樣的:
idVisit idDoctor idPatient timestamp 1 1 1 2010-07-19 14:10 2 1 2 2010-07-19 15:10 3 2 1 2010-07-19 15:10 4 3 1 2010-07-19 16:10 5 2 2 2010-07-19 18:10 6 2 3 2010-07-19 19:10 7 1 1 2010-07-19 20:10
我有那麼3例和3醫生。例如,患者1去了兩次看醫生1,一次看醫生2和一次看醫生3.
我想建立我的請求,以便對每個(醫生,患者)我有最後一次訪問。這個查詢應該返回ID訪問(2,3,4,5,6)而不是1,因爲病人付給醫生1的最後一次訪問是在20:10而不是14:10。我怎麼能這樣做?
再一次,我真的很感謝你的意見和你的幫助。在我開始使用SQL時,它確實幫助我改進設計。
我想我們可以假設你的架構容貌如下所示: VISITS具有(至少)列doctorID,patientID和時間戳。 – SwissCoder 2010-07-18 20:52:14
請注意,您應該堅持數據庫表的命名約定。 使用單數(或複數,如果你真的想要,但那不太推薦)。但不能混合使用。你有醫生的桌子,所以最好留在病人和訪問表 – SwissCoder 2010-07-18 20:54:03
謝謝,我的設計將考慮到這一點。並且您對訪問表列 – am38 2010-07-18 21:31:09