Error after add group by and aggregation functionsオラクルクエリにしてグループを追加し、エラーに
を取得するこのクエリは、関数で集計し、グループなしで良い実行されます。 group by関数を集計した後、このエラーが表示されます。私はクエリの初心者です。あらゆる進歩が助けになるでしょう。同社はERPシステムとしてNetsuiteを使用しています。 NetsuiteはOracleデータベースを使用しています。私はODBCをデータベースに接続して使用しています。
Select to_number(to_char(Transactions.trandate, 'YYYY')) as Year,
to_number(to_char(Transactions.trandate, 'MM')) as Month,
NVL(Parent.name, Entity.name) as Customer,
Case
When Upper(Substr(Replace(Items.name,'.',''),1,4)) IN ('MEAL', 'BASE', 'BOLT', 'BITE', 'FUEL')
THEN Upper(Substr(Replace(Items.name,'.',''),1,4))
ELSE Items.name
END as Item,
Accounts.type_name as Account,
-sum(Transaction_lines.amount) as Sales
From Transactions
Left Join Transaction_lines ON Transactions.transaction_id=Transaction_lines.Transaction_id
Left Join Items ON Transaction_lines.item_id=Items.item_id
Left Join Accounts ON Transaction_lines.account_id=Accounts.account_id
Left Join Entity ON Transactions.entity_id=Entity.entity_id
Left Join Entity as Parent on Entity.parent_id=Parent.entity_id
Where transactions.trandate >= '2013-1-1'
and Transactions.transaction_type IN ('Invoice', 'Item Fulfillment', 'Cash Sale')
and Accounts.type_name IN ('Income', 'Expense', 'Cost of Goods Sold')
Group By
to_number(to_char(Transactions.trandate, 'YYYY')),
to_number(to_char(Transactions.trandate, 'MM')),
NVL(Parent.name, Entity.name),
Case
When Upper(Substr(Replace(Items.name,'.',''),1,4)) IN ('MEAL', 'BASE', 'BOLT', 'BITE', 'FUEL')
THEN Upper(Substr(Replace(Items.name,'.',''),1,4))
ELSE Items.name
END,
Accounts.type_name
Order By Year, Month, Customer, Item, Account
私が投稿して画像が表示されなかった場合、私は自分のクエストを編集することができないように見えます。ここにエラーがあります。 DataSource.Error:ODBC:ERROR [42000] [NetSuite] [ODBC 64bitドライバ] [OpenAccess SDK SQL Engine]無効なSQL構文です。選択リストおよび順序のすべての列は、機能を設定するか、GROUP BY句の一部である必要があります。[10136] 詳細: DataSourceKind = Odbc DataSourcePath = dsn = Netsuite OdbcErrors =テーブル –
エラーはイメージとしてではなく、テキストとして追加する方がよいでしょう。 – sstan
エラーがクリアされているので、select ...と同じようにグループに同じagregationカラムを追加する必要があります。 'SELECT A、B、MAX(something)、MIN(something)' need 'GROUP A、B' –