2013-08-16 40 views
0

所以我对Oracle的了解有限,而且我想改进它。但我卡住了;Oracle - Group By拥有 - 缺少右括号

SELECT c.parent_id 
    FROM x.atable c 
    JOIN y.anothertable e 
    ON c.obj_id = e.child_id 
WHERE e.child_type = 'G' 
ORDER BY c.PARENT_ID 

这自带结果

1 
2 
2 
2 
3 
3 
4 

我想要做什么,是按组,但仅在1个多结果发生的那些(所以导致2和3)。

所以我做了这个

SELECT c.parent_id 
    FROM x.atable c 
    JOIN y.anothertable e 
    ON c.obj_id = e.child_id 
WHERE e.child_type = 'G' 
GROUP BY c.parent_id 
HAVING COUNT (DISTINCT c.PARENT_id > 1) 
ORDER BY c.PARENT_ID 

但我不太明白这有什么错我的查询。正如我所说的,我不是SQL最有经验的人,所以解释会很好。我在“有数”部分得到它。我知道我的小组正在工作。

回答

3

的paranthesis是放错了地方

SELECT c.parent_id FROM x.atable c 
JOIN y.anothertable e 
ON c.obj_id = e.child_id 
WHERE e.child_type = 'G' 
GROUP BY c.parent_id 
HAVING COUNT (DISTINCT c.PARENT_id) > 1 
ORDER BY c.PARENT_ID 
+0

哦,所以,这是什么意思。非常感谢。 – Olly