【发布时间】:2017-08-14 20:26:14
【问题描述】:
我有两个查询正在运行,一个是在数据库中查找匹配项,另一个是更新数据库中的列。查询完全相同,除了一个是 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 查询:
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;
有谁知道什么可能导致这个问题? UPDATE 查询不支持 INTERSECT 操作吗?我正在使用 SQLite。
【问题讨论】:
标签: sql sqlite sql-update