2017-09-14 144 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

這很酷!很高興我能幫上忙! –