[MySQL过滤器/在列中查找公用值

问题描述 投票:2回答:1
借款人ID分支ID7 18 18 29 19 2

使用上表,我试图找到一个查询,该查询为我提供了branch_id值的通用borrower_id。我不知道branch_id的值,但我知道数字7、8和9具有共同值1,而数字8和9具有共同值2(我不想由于公共值1,必须再次包含7,因此选择。

这是预期的输出:

借款人ID分支ID7 18 19 1

我有办法实现这一目标吗?任何建议将不胜感激。

mysql database
1个回答
0
投票

怎么样?已使用您当前的数据集进行了测试,但是需要在您拥有的不同方案中进行测试。

SELECT a.* FROM your_table a
INNER JOIN 
(
    SELECT branch_id, COUNT(branch_id) cnt
    FROM common
    GROUP BY branch_id
    HAVING cnt = (SELECT COUNT(DISTINCT borrower_id) FROM your_table)
) b ON b.branch_id = a.branch_id

0
投票

这应该给您预期的输出。这将返回Branch_id列中值为1

© www.soinside.com 2019 - 2024. All rights reserved.