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
我目前正在尝试在 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