SQL 连接三个表的存储过程

SQL Stored Procedure to join three tables

我目前正在尝试在 SQL 中编写一个存储过程,它将从三个表中提取数据。

PerformOrder - AppointmentID, PatientID, ImagingOrderID
ImagingOrder - ImagingOrderID, PatientID, PhysicianID
ImagingEquipment - EquipmentID

PerformOrder 连接到 imagingorder 和 imagingequipment 但 imagingorder 和 imagingequipment 没有相互连接

我希望在 运行 查询时显示 appointmentID、patieintID、imagingorderID、physicianID 和 equipmentID。

我是 SQL 的新手,非常迷茫。如有任何帮助,我们将不胜感激!


编辑:

这是我的存储过程,但我收到一条错误消息

“过程或函数 'up_AppointmentInvoice2' 需要参数‘@PatientID’,但未提供。”当我尝试执行它时

CREATE PROCEDURE up_AppointmentInvoice2


--Receive Parameters 
@PatientID int,
@AppointmentID int,
@EquipmentTypeID int,
@ImagingOrderID int,
@PhysicianID int


AS


--Generate the list
SELECT i.PatientID, p.AppointmentID, p. EquipmentID, i.ImagingOrderID, i.PhysicianID
FROM ImagingOrder i INNER JOIN PerformOrder p
  ON i.ImagingOrderID = p.ImagingOrderID

您可以通过加入 table PerformOrder 和 ImagingOrder 获得 appointmentID、patieintID、imagingorderID 和 physicianID,如下所示。但是ImagingEquipment和其他两个table之间没有link。

select p.appointmentID, i.patieintID, i.imagingorderID, i.physicianID, p.EquipmentID
from PerformOrder p
inner join ImagingOrder i on i.ImagingOrderID=p.ImagingOrderID