首页 > 解决方案 > SQL过滤行/如果两个表之间的列中存在数据,则获取行数

问题描述

我使用 SQL SERVER 2017

假设我们有以下两个表

提供者

表格1

掌握

表 2

如果提供者中存在 master 的 column_b 值,我想从提供者那里获取所有 ID 的计数输出应该是这样的

输出

表3

标签: sqlsql-server

解决方案


相关子查询看起来很合适。您的描述含糊不清(id 是否也需要匹配?),但是是这样的:

select m.*,
       (select count(*)
        from provider p
        where p.id = m.id and p.column_b = m.column_b
       )
from master m;

推荐阅读