2016-11-21 6 views
0

に存在を持つ要素:http://www.dofactory.com/sql/sandboxSQL - 同じキー「」すでに私はデータベースにSQLクエリをテストしていExpandoObject

私のクエリが...

select datepart(dd, orderdate), sum(totalamount) 
from [order] 
group by datepart(dd, orderdate) 
order by datepart(dd, orderdate) 

あるしかし、私は取得私はselect datapart(dd, orderdate)またはsum(totalamount)部分のいずれかを削除した場合、エラー

Error: An element with the same key '' already exists in the ExpandoObject.

クエリが正常に実行します。

誰かが何が起こっているのか説明できますか?

+2

? –

+0

わかりません。私が投稿したdofactoryリンクにあるテストDBです。 – esafresa

+1

カラム名( 'expression AS name')を指定しないでください。その結果、オブジェクトには2つの名前のないプロパティがあります。オブジェクトメンバー名は一意でなければならないため、許可されません。いくつかの命名愛をミックス。 (これはSQLエラーではないことに注意してください - 列に名前を付けるとSQLは気にしません。結果を格納するために 'ExpandoObject'を使用するオブジェクト・リレーショナル・マッピング・レイヤーからのエラーです) –

答えて

0

エラーは、列が集約であり名前を持たないため、本質的に重複列名エラーです。

試してみてください。

select datepart(dd, orderdate) AS a, sum(totalamount) AS b 
from [order] 
group by datepart(dd, orderdate) 
order by datepart(dd, orderdate) 
使用しているDBMS
関連する問題