一尘不染

如何加入存储过程?

sql

我有一个不带参数的存储过程,它返回两个字段。存储过程将汇总应用于租户的所有事务,并返回余额和租户的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

我也想从存储过程中添加余额。

我怎样才能做到这一点?


阅读 126

收藏
2021-03-17

共1个答案

一尘不染

我实际上喜欢上一个答案(不使用SP),但是如果由于某种原因而绑定到SP本身,则可以使用它来填充临时表,然后加入临时表。请注意,您将在那里花费一些额外的开销,但这是我想到使用实际存储过程的唯一方法。

同样,您最好将SP中的查询内联到原始查询中。

2021-03-17