【问题标题】:Verification of Result in ESQLESQL 中的结果验证
【发布时间】:2017-05-27 01:34:12
【问题描述】:

情况如下: 我运行了一个查询,它在一个数组中给出了一个或多个行。

喜欢:

SET db = PASSTHRU('SELECT GUID,CONTROLNBR FROM TRANSACTION WHERE GUID > ? AND CONTROLNBR > ?' values(maxGuid,maxControlNbr);

这很好,但我想验证以下内容:

任何具有重复 CONTROLNBR 的结果都必须具有相同的 GUID

所以如果我的结果集是这样的:

   CONTROLNBR | GUID
   --------------------
      5       | 123abc
      5       | 123abc

这是完全有效的,但是我需要返回一个错误:

   CONTROLNBR | GUID
   --------------------
      5       | 123abc
      5       | abc123

我不确定在 ESQL/SQL 中测试这样的结果的最佳方法。

【问题讨论】:

    标签: sql error-handling ibm-mq ibm-integration-bus extended-sql


    【解决方案1】:

    要查找错误的重复项,您可以在 SQL 中运行此查询,但不确定它是否适用于 ESQL:

    SELECT CONTROLNBR, COUNT(DISTINCT GUID) as CountGUID
    FROM myTable 
    GROUP BY CONTROLNBR
    HAVIGNG COUNT(DISTINCT GUID) > 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      相关资源
      最近更新 更多