Я пытаюсь самостоятельно объединиться, чтобы найти группы записей, где атрибут не имеет одинаковую длину, а атрибут - все числа.
Вот мой запрос:
SELECT *
FROM MYTABLE t3
WHERE t3.GROUPID IN (SELECT t1.GROUPID
FROM MYTABLE t1, MYTABLE t2
WHERE t1.FILE_ID <> t2.FILE_ID
AND t1.GROUPID = t2.GROUPID
AND (length(t1.STR_FIELD) <> length(t2.STR_FIELD)))
AND ORIG_GROUPID LIKE 'FRED_E%'
ORDER BY GROUPID ASC;
Моя таблица выглядит так:
-----------------------------
|GROUPID |FILE_ID| STR_FIELD|
| 1 | 12314 | 101 |
| 1 | 54246 | 1011 |
| 2 | 75375 | 202 |
| 2 | 24664 | 202M |
-----------------------------
В приведенном выше случае я бы хотел, чтобы возвращался только GROUPID 1:
-----------------------------
|GROUPID |FILE_ID| STR_FIELD|
| 1 | 12314 | 101 |
| 1 | 54246 | 1011 |
-----------------------------
Как я могу изменить свой запрос, чтобы это произошло?