小编nik*_*kta的帖子

当连接中的一个表没有记录时,Join不返回值

我有这个存储过程.我的问题是当代理表中不存在记录时不返回任何内容.我想说,即使代理商中没有记录仍然返回,所以我已经为代理商添加了左外部联接,并且_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
推荐指数
1
解决办法
31
查看次数

标签 统计

sql ×1