SKIP IDS未在C2 AT ALL:
SELECT d.id, d.c1, g.gcount
FROM
(
SELECT c2 as gc2, COUNT(*) as gcount
FROM @data
GROUP BY c2
) g
INNER JOIN @data d ON d.id = g.gc2 AND gcount != 2
OUTPUT:
id | c1 | gcount
3 | c | 1
4 | d | 1
5 | e | 1
包含ID WHICH NOT IN C2:
SELECT d.id, d.c1, ISNULL(g.gcount, 0) as gcount
FROM
(
SELECT c2 as gc2, COUNT(*) as gcount
FROM @data
GROUP BY c2
) g
RIGHT JOIN @data d ON d.id = g.gc2
WHERE gcount IS NULL OR g.gcount != 2
OUTPUT:
id c1 gcount
3 c 1
4 d 1
5 e 1
6 f 0
7 g 0
8 h 0
来源
2011-09-26 13:52:27
sll
请给想要的结果与示例数据一起使用,以便我们能够弄清楚您所要求的内容。 –
它是某种邻接关系,id和c2之间的子父母关系? – Aitor
你的意思是2次或2次或更多次? –