У меня есть два запущенных запроса: один для поиска совпадений в базе данных, а второй запрос, который затем обновляет столбец в базе данных. Запросы точно такие же, за исключением того, что один является оператором SELECT, а другой — оператором UPDATE. Синтаксис в предложении WHERE одинаков в обоих запросах, и оператор SELECT находит все правильные результаты без проблем или синтаксических ошибок. Второй запрос дает эту ошибку:
ОШИБКА: рядом с "INTERSECT": синтаксическая ошибка
:
Это запрос SELECT:
SELECT * FROM StudentInfo
WHERE FirstLanguageToOffer = 'French'
OR SecondLanguageToOffer = 'French'
OR ThirdLanguageToOffer = 'French'
INTERSECT
SELECT * FROM StudentInfo WHERE Gender = 'Female'
INTERSECT
SELECT * FROM StudentInfo WHERE MaxPartners > CurrentPartners
INTERSECT
SELECT * FROM StudentInfo WHERE Preference ='Male' OR Preference = 'It doesnt matter'
INTERSECT
SELECT * FROM StudentInfo WHERE LanguageToPractice ='English'
ORDER BY Priority
LIMIT 1;
Это запрос ОБНОВЛЕНИЯ:
UPDATE StudentInfo SET CurrentPartners = CurrentPartners -1
WHERE FirstLanguageToOffer = 'French'
OR SecondLanguageToOffer = 'French'
OR ThirdLanguageToOffer = 'French'
INTERSECT
SELECT * FROM StudentInfo WHERE Gender = 'Female'
INTERSECT
SELECT * FROM StudentInfo WHERE MaxPartners > CurrentPartners
INTERSECT
SELECT * FROM StudentInfo WHERE Preference ='Male' OR Preference = 'It doesnt matter'
INTERSECT
SELECT * FROM StudentInfo WHERE LanguageToPractice ='English'
ORDER BY Priority
LIMIT 1;
Кто-нибудь знает, что может вызвать эту проблему? Операции INTERSECT не поддерживаются в запросах UPDATE? Я использую SQLite.