2011-11-02 94 views
2

有我想要一个查询中table1我想查询中选择在表1

选择从具有不同的名称表2超过4个ACCOUNTID重复不同的名字从表2超过4次ACCOUNTID重复下面是表的结构

table1        |  Table2 
ID AccountNumber Name   |  ID  AccountNumber AccountID 
1  12345   John Jeff  |  1   12345  A467T 
1  12345   Patrick Jones |  1   12345  A467T 

IDAccountNumber是相同的两个表

  • 表1有名称
  • 表2已经ACCOUNTID

感谢

回答

1

这里有一个查询找到的AccountID与超过4个不同的名字:

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和编号:

select distinct 
     ID 
,  AccountNumber 
,  AccoutnID 
from Table2 
where AccountNumber in 
     (
     ... place query from above here ... 
     ) 
+0

感谢Andomar它是工作,但如果我想有也账户号码和身份证有什么作为的一部分输出 –

+0

如果每个AccountNumber只有一个AccountID,您可以通过t2.AccountID,t2.AccountNumber,t2.ID'进行分组,并选择全部三列。 – Andomar

+0

@Bayo Alen:那么你必须回到表2来找出ID的......一种方式是子查询,添加了一个例子。 – Andomar