Как найти значения, разделенные двоеточиями, из другой таблицы в oracle sql запросе, где предложение - PullRequest
0 голосов
/ 25 мая 2019

Я хочу вернуть значение строки из таблицы, где другая таблица содержит значение, разделенное двоеточиями.

Предположим, у меня есть имя таблицы " Имя устройства ", содержащее unit_id , unit_name , а в таблице 2 указано User_reg , где содержится User_id . идентификатор пользователя содержит значение разделителя двоеточий.Например, 82:81:80

Как получить список названий юнитов из таблицы unit_name

SELECT
    * 
FROM
    unit_name un
WHERE (select school from user_reg where user_mode = 4) is not null 
and un.unit_id in     
         (SELECT    regexp_substr( school, '[^:]+', 1, LEVEL )  FROM    USER_REG 
         CONNECT BY regexp_substr( school, '[^:]+', 1, LEVEL ) IS NOT NULL );

1 Ответ

1 голос
/ 25 мая 2019

Если вы выполните следующий запрос, строка с разделителями будет преобразована в строки.

select * from table(apex_string.split('82:81:80',':'))
...