我想要一个查询从 table2 中选择超过 4 个 AccountId 重复,在 table1 中具有不同的名称
Posted
技术标签:
【中文标题】我想要一个查询从 table2 中选择超过 4 个 AccountId 重复,在 table1 中具有不同的名称【英文标题】:I want a query to select more than 4 AccountId repetitions from table2 having distinct name in table1 【发布时间】:2011-11-02 20:10:28 【问题描述】:我想要一个查询从表 2 中选择超过 4 个 AccountId 重复,在 table1
中具有不同的名称
以下是表结构:
table1 | Table2
ID AccountNumber Name | ID AccountNumber AccountID
1 12345 John Jeff | 1 12345 A467T
1 12345 Patrick Jones | 1 12345 A467T
ID
和 AccountNumber
在两个表上都相同
【问题讨论】:
【参考方案1】:这是一个查询,用于查找具有 4 个以上不同名称的 AccountID:
select t2.AccountID
from Table1 as t1
join Table2 as t2
on t1.AccountNumber = t2.AccountNumber
and t1.ID = t2.ID
group by
t2.AccountID
having count(distinct t1.Name) > 4
如果这不是您要查找的内容,请澄清问题!例如,您可以添加所需的输出。
编辑:在回复您的评论时,您可以使用子查询查询 ID 和 Numbers:
select distinct
ID
, AccountNumber
, AccoutnID
from Table2
where AccountNumber in
(
... place query from above here ...
)
【讨论】:
感谢 Andomar,它正在工作,但是如果我想将 AccountNumber 和 ID 作为输出的一部分呢 如果每个 AccountNumber 只有一个 AccountID,您可以group by t2.AccountID, t2.AccountNumber, t2.ID
并选择所有三列。
@Bayo Alen:那么您必须返回 Table2 以找出 ID...一种方法是子查询,添加示例。以上是关于我想要一个查询从 table2 中选择超过 4 个 AccountId 重复,在 table1 中具有不同的名称的主要内容,如果未能解决你的问题,请参考以下文章