2016-04-04 10 views
1

私はこの問題を抱えています。本当に解決策を見つけることができないので、私の歯車は本当に磨耗します。私はSQL Server Management Studioで作業しています。ここで 、私は明確なデータを選択し、各個別のデータのための別の列の値の平均値は、次のように:今埋め込みSQLクエリでは動作しません

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

使用しているSQL Serverのバージョンは? – supergrady

+1

私はMicrosoft SQL Server Management Studio 10.50.1600.1を使用しています – Dajer

答えて

0

「JR」のレコードを除外しようとしていますか? 「@@バージョンを選択」とあなたが得る情報を伝える

SELECT age, standing 
FROM 
(SELECT DISTINCT standing, avg(age) as age 
FROM student 
where standing <> 'JR' 
group by standing) as s 
+0

ありがとうございました! :)それは私が望むのとまったく同じです。 しかし、とにかく、EXCEPTでこの問題の原因を知りませんか?私はちょうどこれについて興味がある。 – Dajer

0

は、このクエリを実行することができます。 なぜこれを試していません。 私の "sql sever 2008"に似たようなクエリを試しましたが、正常に動作しています。 また、union、intersectを使用し、distinctを使用する必要がないことを除いて、問題は発生しませんが、別個の行を返すので不要です。

+0

グローバル変数名が無効であるというエラーが発生します。 とにかく私はバージョン10.50.1600.1を使用します。 – Dajer