Проверка результата в ESQL

Вот ситуация: я запускаю запрос, который дает мне в результате одну или несколько строк в массиве.

Нравиться:

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.


person bbedward    schedule 04.08.2015    source источник


Ответы (1)


Чтобы найти плохие дубликаты, вы можете запустить этот запрос в SQL, но не уверен, что это работает в ESQL:

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