sql - 需要将当前行的 id 传递给 SQL 中的查询
问题描述
我有这个查询需要根据 branchId 为每一行输出 ActiveAgents。现在确定如何使它与 branchId 一起工作。当我在查询中使用它时,它会为所有行返回 1 amouth,但是当我单独尝试它并像这样传递 branchId 时,它可以工作。
…….
,(select Count(*) from [TblAgencyContact] agent
left join [TblBranchMember] branchMember on agent.AgencyContactId = branchMember.AgencyContactId
left join [TblBranch]branch on branch.BranchId = branchMember.BranchId
where agent.StatusId = 1 and branchMember.BranchId = branch.BranchId and
branchMember.BranchId = branch.BranchId) as ActiveAgents
,……
from [TblBranch]branch
我不知道如何BranchId
在查询中将当前行传递给它。
select
Count(*)
from
[TblAgencyContact] agent
left join
[TblBranchMember] branchMember on agent.AgencyContactId = branchMember.AgencyContactId
left join
[TblBranch] branch on branch.BranchId = branchMember.BranchId
where
agent.StatusId = 1
and branchMember.BranchId = branch.BranchId
and branchMember.BranchId = branch.BranchId
and branch.BranchId = 81
解决方案
您的顶级查询已接近,但您需要记住您不需要在 TblBranch 表上加入,因为您正在将适当的值传递给子查询。另外,链接不应该是 INNER JOIN 吗?如果 TblBranchMember 表中没有人,您就不想计算 TblAgencyContact 行,对吗?
(
select Count(*)
from [TblAgencyContact] agent
INNER join [TblBranchMember] branchMember
on agent.AgencyContactId = branchMember.AgencyContactId
where agent.StatusId = 1
and branchMember.BranchId = branch.BranchId -- where branch is accessed in the outer query
) as ActiveAgents
推荐阅读
- c# - 如何防止 Windows+D 组合键 Wpf
- microsoft-graph-api - 通过 Microsoft Graph API(Graph Explorer)获取用户活动报告的问题
- ios - Swit - 我想获取存储在钥匙串中的值
- c++ - 如何存储在系统重新启动之前一直存在的信息?
- google-apps-script - 当在 F 列中完成编辑时,G 列中的时间戳,复制 H 列并粘贴到另一张表中,并继续在 F 列中的每个编辑中附加
- angular - 无法在 Angular 4 的标头中传递令牌
- excel - 调整excel visual basics中的宏代码
- python-3.x - numpy:从 ndarray 创建双端队列,这是一个数组数组
- three.js - 影响子网格的父网格缩放
- android - 如何获取我的 firebase 数据库中存在的所有父节点?