У меня есть следующий XML-файл в XML-таблице oracle. Я знаю очень простые таблицы XQuery и XML. Я задавался вопросом, каковы возможные решения для поиска всех городов, не посещаемых конкретным транспортным средством (регистрационный номер).
Я думал, что сначала мне нужно «за цикл», чтобы сохранить имя всех городов, а затем еще один «цикл». Я должен проверить, посетил ли этот город транспортное средство. Есть ли способ вычесть название городов, посещаемых конкретным транспортным средством, из списка всех городов.Как вычесть два результата запроса в XQuery в базе данных Oracle XML?
(название всех городов) - (города, посещаемые автомобиля) = (города не посетили автомобиль)
Вот мой файл XML (я не имею список городов) :
<trips>
<trip driver="d2345" vehicle="PKR856" date="12-DEC-2007">
<from>London</from>
<to>Newcastle</to>
<through stop="1">Leicester</through>
<through stop="2">Nottingham</through>
<time>1</time>
</trip>
<trip driver="d6767" vehicle="UUQ007" date="10-MAY-2008">
<from>Paris</from>
<to>Rome</to>
<through stop="1">Lyon</through>
<through stop="2">Milan</through>
<time>15</time>
</trip>
<trip driver="d2345" vehicle="PKR856" date="14-DEC-2007">
<from>Paris</from>
<to>Amsterdam</to>
<through stop="2">Brussel</through>
<through stop="1">Mons</through>
<time>4</time>
</trip>
</trips>
Я попытался
Это список всех городов:
for $form in /transport/trips/trip/from
for $to in /transport/trips/trip/to
return
<result>
{$from/text()}
{$to/text()}
</result>
Список городов, посещенных конкретного автомобиля:
for $c in /transport/trips/trip/
where (data ($c/@ vehicle)=""PKR856"")
<result2>
{$c/from/text()}
{$c/to/text()}
</result2>
Я признателен, если кто-нибудь может мне помочь, чтобы вычесть эти списки.
Обязательно отправьте правильный код, в вашем последнем блоке кода есть несколько синтаксических проблем. –