0

必要なもの: 料理のカテゴリごとの売上を表示したい

この問題には 3 つのテーブルがあります。

1.order(dish_id,dish_price,dish_quantity)
2.dish(dish_id,dish_name,dish_cat_id)
3.dish_category(dish_cat_id,dis_cat_name

必要な結果: 販売された数量、料理のカテゴリごと、合計価格、total_quantity というレポートを表示したい

予想される結果: 皿猫 ID、皿猫名、合計価格、合計数量販売

私が試したこと:

    SELECT  d.dish_name, 
            d.dish_id,
            SUM(o.price) as total_price,
            SUM(o.dish_quantity) as total_qauntity 
    FROM order as o , dish as d
    WHERE o.dish_id = d.dish_id
    GROUP BY o.dish_id

ここで、すべての料理とその合計価格を料理ごとに取得できます

右のように、このクエリについて選択された結果に対して別のクエリを起動して、それらをdish_categoryごとに取得することが期待されるという考えはありません

4

3 に答える 3

2
SELECT  c.dis_cat_name , c.dish_cat_id ,
        SUM(o.price) as total_price ,
        SUM(o.dish_quantity) as total_qauntity 

FROM order as o JOIN  dish as d

       ON (o.dish_id = d.dish_id)
       join dish_category c on (d.dish_cat_id=c.dish_cat_id)

GROUP BY d.dish_cat_id
于 2013-04-18T06:47:18.923 に答える
2
SELECT dc.dis_cat_name, 
       SUM(o.price) as total_price, 
       SUM(o.dish_quantity) as total_quantity 
FROM order o 
    INNER JOIN dish d ON o.dish_id = d.dish_id   
    INNER JOIN  dish_category dc ON dc.dish_cat_id = d.dish_cat_id
 GROUP BY dc.dish_cat_id;
于 2013-04-18T06:52:09.133 に答える
1

3 つのテーブルすべてに参加する必要があります。

select d2.dish_cat_id, d2.dish_cat_name, 
       sum(o1.dish_price) total_price ,sum(o1.dish_quantity) total_quantity_sold
from dish d1 join dish_category d2 on (d1.dish_cat_id= d2.dish_cat_id)
             join order o1 on (d1.dish_id = o1.dish_id)
group by d2.dish_cat_id, d2.dish_cat_name
于 2013-04-18T06:45:50.387 に答える