【问题标题】:SQL DB2: Using a WHERE subquery does not produce resultsSQL DB2:使用 WHERE 子查询不会产生结果
【发布时间】:2017-09-14 22:37:13
【问题描述】:

我在 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'  
)

在我的第一个示例中,“where”子查询部分在单独运行时会生成正确的 ID(AGR0001、AGR0002、AGR0003)。但与主要查询一起,我什么也得不到。第二个示例具有相同的 id 但返回结果。

在 where 中需要做些什么来使子查询返回 char 值?

【问题讨论】:

    标签: sql db2 subquery


    【解决方案1】:

    会不会是“With UR;”在下面的sn-p中找到了吗?

    也许那个分号?

    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;
    )
    

    【讨论】:

    • 宾果游戏!那个“和你的;”是问题所在。
    猜你喜欢
    • 2020-05-04
    • 1970-01-01
    • 2012-06-28
    • 2021-12-18
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多