2012-10-26 238 views
0

下面的SQL查詢:WHERE子句中的子查詢

select * from er_101 
where cd_relnaam IN ( 
    select cd_relnaam 
    from er_101 
    group by cd_relnaam 
    having count(*) > 1) 
AND ld_relopdrachtgever = '1' 

雖然我需要有一個子查詢也ld_relopdrachtgever = '1'
限制怎麼可能與HAVING語句?

+0

請給我們您的表的結構,你想實現的,因爲它現在不是很清楚。 –

+0

與像主查詢的值指定的子查詢的心不是: 和ld_relopdrachtgever =「1」 我還需要在我的子查詢,否則我得到我的ResultSet結果有multipli值,但不能與ld_relopdrachtgever equel 1 –

+1

子查詢限制你可以通過在'cd_relnaam'分組之前添加'WHERE Id_relopdrachtgever ='1''來完成。 – LSerni

回答

2

您也可以在子查詢中使用WHERE

SELECT * FROM er_101 
WHERE cd_relnaam IN ( 
    SELECT cd_relnaam 
    FROM er_101 
    WHERE ld_relopdrachtgever = '1' <--You can add WHERE clause before GROUP BY 
    --^^^^^---- 
    GROUP BY cd_relnaam 
    HAVING COUNT(*) > 1) 
AND ld_relopdrachtgever = '1'