0

私は SQL にかなり慣れていないので、受け取ったエラー メッセージに関して簡単な質問があります (この質問のタイトル)。在庫内のアイテムの合計値 (itemQuantity * itemCost)、平均アイテム コスト、潜在的な損失収益 (itemQuantity * itemMktValue) を見つけようとしています。

SELECT
    (itemQuantity * itemCost) 'Total',
    AVG (itemCost) 'AvgerageItemCost',
    (itemQuantity * itemMktValue) 'LossedRevenue'
FROM
    Item;

誰かが私を助けることができれば、それは大歓迎です。

4

3 に答える 3

3

ステートメントselectに集計関数が含まれています ( AVG)。このため、SQL は集計クエリがあると想定します。

句がないgroup byため、SQL は次のようにすべてが集約されることを期待しています。

select sum(itemQuantity), count(*)
from item

ただし、クエリには、集計関数の引数ではない変数がいくつかありますitemQuantity。たとえば、おそらく、次のようなものが必要です。

SELECT sum(itemQuantity * itemCost) 'Total',
       AVG (itemCost) 'AvgerageItemCost',
       sum(itemQuantity * itemMktValue) 'LossedRevenue'
FROM Item;

アイテムごとにこの情報が必要な場合もあります。その場合は、次を使用しますgroup by

SELECT itemid, sum(itemQuantity * itemCost) 'Total',
       AVG (itemCost) 'AvgerageItemCost',
       sum(itemQuantity * itemMktValue) 'LossedRevenue'
FROM Item
group by itemid
于 2013-03-01T20:39:10.453 に答える
1

試す:

SELECT
    SUM(itemQuantity * itemCost) 'Total',
    AVG (itemCost) 'AvgerageItemCost',
    SUM(itemQuantity * itemMktValue) 'LossedRevenue'
FROM
    Item;
于 2013-03-01T20:37:08.227 に答える
0

私があなたを正しく理解していれば、次のようなものが必要です。

SELECT
    SUM((itemQuantity * itemCost) 'Total',
    AVG (itemCost) 'AvgerageItemCost',
    SUM(itemQuantity * itemMktValue) 'LossedRevenue'
FROM
    Item;
于 2013-03-01T20:39:31.280 に答える