0

質問があります。

これはクエリです:

SELECT a.naam as "Artiest", SUM(o.numberOfOrders) as "Aantal singles",   
(SUM(o.numberOfOrders) * s.price) * 0.35 as "Winst  

FROM orders o
JOIN singles s ON s.singleid = b.singleid
JOIN artist a ON a.artistid = s.artistid
WHERE b.date= TO_DATE('15/MAY/2012','dd/mon/yyyy')
GROUP BY a.name

このクエリを実行すると、次のエラーが発生します。

「GROUPBY式ではありません」

すでに(SUM(o.numberOfOrders)* s.price)*0.35をgroupby
に入れようとしましたが、エラーが発生します。

「ここではグループ機能は許可されていません」

これを修正するにはどうすればよいですか?

4

2 に答える 2

3

これを次のいずれかに置き換えます。

sum(o.numberOfOrders*s.price)*0.35

また:

sum(o.numberOfOrdrs)*avg(s.price)*0.35

または多分):

sum(o.numberOfOrdrs)*max(s.price)*0.35

つまり、s.priceはbyのグループに含まれていません

于 2012-08-03T13:31:16.077 に答える
1

二重引用符がありません。これを試して:

SELECT 
    a.naam as "Artiest", 
    SUM(o.numberOfOrders) as "Aantal singles",   
    (SUM(o.numberOfOrders) * s.price) * 0.35 as "Winst"
FROM 
    orders o
        JOIN singles s ON s.singleid = b.singleid
        JOIN artist a ON a.artistid = s.artistid
WHERE 
    b.date= TO_DATE('15/MAY/2012','dd/mon/yyyy')
GROUP BY a.name
于 2012-08-03T13:35:16.530 に答える