#xquery #marklogic
#xquery #марклогик
Вопрос:
У меня есть требование сделать минус в одном из вариантов использования, но в MarkLogic я не могу использовать функцию минуса. Есть ли какой-нибудь альтернативный способ сделать это?
select table1.value1 from table1 where table1.date = '2020-11-27'
minus
select table1.value1 from table1 where table1.date = '2020-11-26'
Ответ №1:
Оператор « MINUS
» является оператором SPARQL. Аналогичная функциональность поддерживается в API Optic от MarkLogic с использованием op:except()
оператора. Вы также можете использовать оператор « MINUS
» в SPARQL и op:from-sparql()
в API Optic, а EXCEPT
также оператор «» в SQL и op:from-sql()
в API Optic.
Ответ №2:
Оператор минус / вычитания в XQuery равен «-«, как и в большинстве языков. Остальная часть вашего кода немного похожа на SQL для меня (хотя в последний раз я использовал SQL около 30 лет назад), и все это нужно будет изменить.
Боюсь, я не совсем понимаю, что такое «Оптический запрос».
Комментарии:
1. Существует возможность использовать sql в marklogic, но многие функции SQL в MarkLogic не поддерживаются
2. MarkLogic имеет библиотеку функций XQuery для запросов в реляционном стиле, называемую Optic API.
3. Возможно, было ошибкой пометить вопрос XQuery.