我有一个不带参数的存储过程,它返回两个字段。该存储过程汇总了应用于租户的所有事务,并返回余额和租户 ID。
我想使用它通过查询返回的记录集,并且我需要将其结果连接到租户的 ID 上。
这是我当前的查询:
SELECT t.TenantName, t.CarPlateNumber, t.CarColor, t.Sex, t.SSNO, t.Phone, t.Memo,
u.UnitNumber,
p.PropertyName
FROM tblTenant t
LEFT JOIN tblRentalUnit u
ON t.UnitID = u.ID
LEFT JOIN tblProperty p
ON u.PropertyID = p.ID
ORDER BY p.PropertyName, t.CarPlateNumber
存储过程是这样的:
SELECT tenant.ID AS TenantID, SUM(ISNULL(trans.Amount,0)) AS TenantBalance FROM tblTenant tenant
LEFT JOIN tblTransaction trans
ON tenant.ID = trans.TenantID
GROUP BY tenant.ID
我还想将存储过程中的余额添加到其中。
我该怎么做?
最佳答案
将SP的结果插入到临时表中,然后连接:
CREATE TABLE #Temp (
TenantID int,
TenantBalance int
)
INSERT INTO #Temp
EXEC TheStoredProc
SELECT t.TenantName, t.CarPlateNumber, t.CarColor, t.Sex, t.SSNO, t.Phone, t.Memo,
u.UnitNumber, p.PropertyName
FROM tblTenant t
INNER JOIN #Temp ON t.TenantID = #Temp.TenantID
...
关于sql - 如何加入存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921190/