我有这个存储过程.我的问题是当代理表中不存在记录时不返回任何内容.我想说,即使代理商中没有记录仍然返回,所以我已经为代理商添加了左外部联接,并且_Agency = IsNull(U._Agency,'')在顶部.但仍然没有回报价值.当我拿A._IsActive = 1时,它返回值.在最后一行.我应该怎么做id A._IsActive没有值仍然返回.我尝试了同样的ISNull但没有工作.
declare @Username VARCHAR(50)
, @Password VARCHAR(50)
set @Username = 'admin'
set @Password = 'password2'
SELECT U.Username
,_Partner = u.AID
,_Agency = IsNull(U._Agency,'')
, UR._Role
,R.Name
FROM [PartnerPortal].[dbo].[User] AS U
left outer JOIN [PartnerPortal].[dbo].Agency AS A
ON U._Agency = A._IdxIdentity
JOIN [PartnerPortal].[dbo].User_Role AS UR
ON U._IdxIdentity = UR._User
JOIN [PartnerPortal].[dbo].[Role] AS R
ON UR._Role = R._IdxIdentity
WHERE (Username = @Username)
AND [Password] =@Password
AND U._IsActive = 1
AND A._IsActive = 1
AND UR._IsActive = 1 …Run Code Online (Sandbox Code Playgroud) sql ×1