Oracle Get Records, где String отсутствует в качестве строки Sub в других строках? - PullRequest
0 голосов
/ 27 декабря 2018

Привет Это моя проблема: -

Value
-----
ABCDE
ABCD
ABC
ABF
ABFG

Результат должен быть: ABCDE & ABFG

выше не являются подстроки любой другой строки в том же столбце без повторений

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Этого можно добиться с помощью LEFT JOIN в сочетании с WHERE .., IS NULL.

По сравнению с решением с коррелированными запросами, запрос LEFT JOIN имеет более короткий / чистый синтаксис и часто выполняется лучше, когдаработа с большими наборами данных.

SELECT t1.value
FROM 
    my_table t1
    LEFT JOIN my_table t2 
        ON t2.value <> t1.value 
        AND t2.value LIKE '%' || t1.value || '%'
WHERE t2.value IS NULL
0 голосов
/ 27 декабря 2018

Вы можете сделать:

select *
from my_table t1
where not exists (
  select 1 from my_table t2
  where t1.value <> t2.value 
    and t2.value like '%' || t1.value || '%'
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...