我遇到了这个问题,它确实让我的齿轮磨损,因为我真的找不到解决方案。我在SQL Server Management Studio中工作。 在这里,我选择不同的数据和每个不同数据的另一列值的平均值,如下所示:
SELECT age, standing
FROM
(SELECT DISTINCT standing, avg(age) as age
FROM student
group by standing) as s
现在,这很好用。当我尝试这样做时会出现问题:
SELECT age, standing
FROM
(SELECT DISTINCT standing, avg(age) as age
FROM student
group by standing) as s
EXCEPT
SELECT age, standing
FROM
(SELECT DISTINCT standing, avg(age) as age
FROM student
WHERE standing = 'JR'
group by standing) as k
选择上面的EXCEPT和下面的EXCEPT工作正常,但他们只是没有。该程序告诉我有关以下内容的错误: 解析查询时出错。 [令牌行号= 6,令牌行偏移= 1,错误令牌= EXCEPT]
我也尝试过UNION,INTERSECT和MINUS。只有工会似乎有效,现在我真的不知道这里发生了什么。
我期待着解决方案,也非常感兴趣我做错了什么。
答案 0 :(得分:0)
您是否尝试使用' JR'排除记录?常设? 为什么不试试这个:
import re
答案 1 :(得分:0)
您可以运行此查询'select @@ version'并告诉您获得的信息。 我在我的“sql sever 2008”上尝试了类似于你的查询,它运行正常。 此外,当你使用union,intersect和除了你不需要使用distinct之外,它不会导致任何问题,但是因为它们返回不同的行而不需要。