查询最近一直使用Linq-to-Sql的人的帮助

Sha*_*awn 0 sql

Patient 
-------
PatientID

Visit
-----
VisitID
PatientID
HeartRate
VisitDate
Run Code Online (Sandbox Code Playgroud)

我该如何选择所有谁拥有一游,他们当日的患者首次访问,并在他们的心脏率首次访问?

Tom*_*lak 7

SELECT
  p.PatientID,
  v.VisitID,
  v.HeartRate,
  v.VisitDate
FROM
  Patient p
  INNER JOIN Visit v ON p.PatientID = v.PatientID
WHERE
  v.VisitDate = (
    SELECT MIN(VisitDate) 
    FROM Visit 
    WHERE PatientId = p.PatientId
  )
Run Code Online (Sandbox Code Playgroud)

编辑:替代版本.一样.(不太明显,因此不太理想的恕我直言)

SELECT
  p.PatientID,
  v.VisitID,
  v.HeartRate,
  v.VisitDate
FROM
  Patient p
  INNER JOIN Visit v ON p.PatientID = v.PatientID
  INNER JOIN (
    SELECT PatientID, MIN(VisitDate) VisitDate 
    FROM Visit 
    GROUP BY PatientID
  ) f ON f.PatientID = p.PatientID AND f.VisitDate = v.VisitDate
Run Code Online (Sandbox Code Playgroud)