我在 SQL SERVER 中有两个表。
DBO.VitalPatientDetails=>
| 患者详细信息 ID | 患者 ID | 患者姓名 | 单位名称 | 床名 | 患者出生日期 | 上次警报接收时间 |
DBO.VitalAlarmDetails=>
| 身份证 | PatientDetailsId(指 VitalPatientDetails.PatientDetailsId)| VitalGenerationTime | 文件名 |
我需要检索按 VitalGenerationTime 升序排序的 PatientDetailsId 分组的 DBO.VitalAlarmDetails 的所有字段。我为此编写了光标,如下所示,它返回多个结果集。我需要在不使用光标的情况下将它放在一组中。我只想知道我是否可以在没有光标的情况下做到这一点。
DECLARE @PatientDetailsId BIGINT
DECLARE @getAlarmDetails CURSOR
SET @getAlarmDetails = CURSOR FOR SELECT PatientDetailsId FROM VitalPatientDetails
OPEN @getAlarmDetails
FETCH NEXT FROM @getAlarmDetails INTO @PatientDetailsId
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT * FROM VitalAlarmDetails
WHERE PatientDetailsId = @PatientDetailsId
ORDER BY VitalGenerationTime ASC
FETCH NEXT FROM @getAlarmDetails INTO @PatientDetailsId
END
CLOSE @getAlarmDetails
DEALLOCATE @getAlarmDetails
谢谢。