Как отфильтровать XMLTABLE, используя данные из существующей таблицы? - PullRequest
0 голосов
/ 04 мая 2011

У меня есть таблица d (col1, name, col3 ... coln) и xmlfile, и мне нужно выбрать из XML только те имена, которых нет в БД:

Select t.nam
From XMLTABLE('/Документ/План/СтрокиПлана/Строка' 
PASSING xml COLUMNS nam Varchar2(256) PATH '@Дис') t
    ,disciplines_ d
Where d.Name != t.nam;

но полученный результат показывает что-то похожее на

Select *
From table_1
    ,table_2

1 Ответ

1 голос
/ 04 мая 2011

Вы можете попробовать следующее:

Select t.nam
  From XMLTABLE('/Документ/План/СтрокиПлана/Строка' 
       PASSING xml COLUMNS nam Varchar2(256) PATH '@Дис') t
 where t.nam NOT IN (SELECT d.name 
                       FROM disciplines_ d 
                      WHERE d.name IS NOT NULL)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...