如何从sql server上具有父子关系的表中检索唯一数据

时间:2016-05-03 16:25:10

标签: sql sql-server

我有父子关系的表,父亲和儿子都是主键,让我给你看一个数据的例子:

Father | Son
----------------
A      |   1
A      |   2
B      |   1
C      |   1
D      |   2
E      |   3

所以我想要的是分组儿子,得到1个父亲,无论哪一个,我知道这听起来很奇怪,但我只需要知道其中一个父亲为参考,所以我正在寻找这样的结果:

Son    | Father
----------------
1      |   A
2      |   A
3      |   E

我尝试做这样的事情,在我的查询中[代码]是儿子

select i.father, q1.code from
(select i1.code from itt1 i1 where isnumeric(substring(i1.father, 0, 3)) =1 group by i1.code) q1
left join itt1 i on q1.code = i.code where i.code is null
  1. 我检索并分组所有儿子并将结果封装在q1子查询
  2. 然后我离开了加入桌子的q1,但我没有得到我想要的结果
  3. 有可能做我想做的事吗?

1 个答案:

答案 0 :(得分:5)

您可以将聚合函数与group by一起使用。例如:

select son, min(father) AS Father from itt1 group by son