基于存储过程中ID的SQL Join表

问题描述 投票:0回答:1

我需要使用JOIN存储过程来提取索赔人ID的所有策略列。

伪代码:从policys(tbl)中选择*,其中partys.id = policy.policyNumber。

这里是我到目前为止的...

CREATE PROCEDURE [dbo].[usp_GetPolicyForClaimentByPolicyIdNumber]
(
    @IdNumber varchar(255) = null
)
AS
BEGIN
SELECT *
    FROM [BinderCurrent].[Policy]
    LEFT JOIN [BinderCurrent].[Policy] ON ([BinderCurrent].[Parties].Id = [BinderCurrent].[PolicyRoles].PolicyId)
    WHERE   [BinderCurrent].[PolicyRoles].PolicyRoleTypeId = 40
    AND (@IdNumber IS NULL OR [BinderCurrent].[Parties].IdNumber LIKE ''+@IdNumber+'%') 
    ORDER BY Id DESC

END
sql-server stored-procedures jointable
1个回答
0
投票

带有ON子句的过滤器:

SELECT *
FROM [BinderCurrent].[Policy] LEFT JOIN 
     [BinderCurrent].[Policy] 
     ON ([BinderCurrent].[Parties].Id = [BinderCurrent].[PolicyRoles].PolicyId AND
         [BinderCurrent].[PolicyRoles].PolicyRoleTypeId = 40
WHERE (@IdNumber IS NULL OR [BinderCurrent].[Parties].IdNumber LIKE ''+@IdNumber+'%')
ORDER BY Id DESC;
© www.soinside.com 2019 - 2024. All rights reserved.