0

我有一个带有字段的表f1Tf2f3.

我想检索f1属于具有重复f2f3字段的行的所有内容。如何才能做到这一点 ?

编辑 :

例如:

(1,2,3) 
(2,2,3) 
(4,1,1) 
(2,2,2) 
(3,4,3) 
(1,5,6)

预期结果是:

(1)
(2)
4

2 回答 2

1

试试这个

select f1 from T group by (f1) having (count(f2) > 1 and count(f3) > 1)
于 2012-09-28T14:22:18.560 回答
0

这将带回 f2 和 f3 值出现在多行上的行上的每个 f1 值。

select T.f1 from T
inner join (select f2,f3 from T group by f2,f3 having count(*) > 1) dups
on t.f2 = dups.f2 and t.f3 = dups.f3;

所以如果你有数据。

f1 f2 f3
-- -- --
1  A  b
2  A  c
3  A  b
4  B  b

你会得到 1 和 3。

于 2012-09-28T14:20:03.290 回答