2017-09-14 61 views
0

我在DB2表的where子句中使用子查询。下面不会产生任何结果:SQL DB2:使用WHERE子查询不会产生结果

SELECT b.people 
FROM PLACES_TABLE A 
JOIN PERSON_TABLE B ON A.ID = B.ID 
WHERE B.AGR_ID IN (
    SELECT AGR_ID 
    FROM AGREEMENT_TABLE 
    WHERE AGR_CODE = 'AGR_CODE_01' 
    WITH UR; 
) 

虽然以下不会产生结果:

SELECT b.people 
FROM PLACES_TABLE A 
JOIN PERSON_TABLE B ON A.ID = B.ID 
WHERE B.AGR_ID IN (
    'AGR0001', 'AGR0002', 'AGR0003' 
) 

在我的第一示例中,当在其自身的(AGR0001跑“其中”子查询部分产生正确的ID, AGR0002,AGR0003)。但是与主要查询一起,我没有得到任何回报。第二个示例具有相同的ID,但返回结果。

是否有什么需要在子查询返回字符值的位置完成?

回答

2

难道是“有了UR”吗?在下面的代码片段中找到?

也许那个分号?

SELECT b.people 
FROM PLACES_TABLE A 
JOIN PERSON_TABLE B ON A.ID = B.ID 
WHERE B.AGR_ID IN (
    SELECT AGR_ID 
    FROM AGREEMENT_TABLE 
    WHERE AGR_CODE = 'AGR_CODE_01' 
    WITH UR; 
) 
+0

宾果! “与你同在”是问题。 –

+0

这很酷!很高兴我能帮上忙! –

相关问题