2016-05-27 2 views
0

実行するODBC SQL文は次のとおりです。 ODBCは接続タイプであり、クエリはExcelスプレッドシートの名前付き範囲に対して実行されます。私がSQLに伝えることができる最高のものが使用され、すべての以前のクエリが期待どおりに機能しています。グループ別集計関数エラー付きODBC SQL IIF

select 
IIF([Account Name]='Account1','Special Account','Not Special') as AccountType, 
IIF([Recipe]='Recipe1','American','Other') as FoodType, 
sum([Unpaid]) 
from MyData 
Group by [Account Name] 

ここではエラーメッセージが表示されます。

"集計関数の一部として指定された式を含まないクエリを実行しようとしました。"

私は、[グループ]に[レシピ]を追加する必要があることを知っています。これにより、グループはこのようになります。

Group by [Account Name],[Recipe] 

この変更を行うと、SQL文は実行されますが、両方のフィールドで出力グループを作成することはできません。これは、私が働かないとうまくいかない結果を返します。私は本当に[アカウント名]でグループ化したいだけです。

どうすればよいですか?このクエリでは、目的の結果を返すためにIIFステートメントが必要です。

答えて

0

集計関数にない場合は、で集計する必要があります。 SUM()はあなたが持っている唯一の集計関数です - 他の人はグループに入ります。

select 
IIF([Account Name]='Account1','Special Account','Not Special') as AccountType, 
IIF([Recipe]='Recipe1','American','Other') as FoodType, 
sum([Unpaid]) 
from MyData 
Group by IIF([Account Name]='Account1','Special Account','Not Special'), 
IIF([Recipe]='Recipe1','American','Other') 
+0

私はグループに追加する必要があることを知っていますが、これは私が使用できないネットによるグループに追加することで私の問題を解決するものではありません。私はその質問に言及した。 – user2027231

+0

@ user2027231あなたの質問には列名でグループ分けされています。私はIIFステートメントでグループ分けしています。おそらくあなたが期待している出力であなたの質問を更新しますか? – JBrooks