2017-03-08 13 views
0

在紅移爲提供數據集餐廳紅移查詢輸出

每Dish_id被分配到因此,基於獨特的訂單,其正在地點理想, 我需要找到一個提供一個類別 主要菜什麼都等項目與它去一起
的主項(即餐廳的每個不同的項目將作爲一個主要的菜一次)

目前我能做到這一點對一個dish_id並獲得它的貢獻

Select category_name,count(category_name) from ( 

Select order_id,dish_id,dish_name,category_id,category_name from abc
where order_id in (Select distinct order_id from abc where dish_name='Paneer_pizza' and restaurant_id=1) group by order_id,dish_id,dish_name,category_id,category_name order by category_name ) group by category_name

問題的

如何打印Panner_pizza外部查詢與CATEGORY_NAME和計數一起?

我該如何通過內部查詢 該餐廳中的所有dish_name,並獲得所有菜餚的貢獻以及所有類別的計數?

回答

0

很難說清楚你想要什麼......你可能需要兩個查詢。但我認爲這樣的內部查詢可能會有所幫助。這會將結果過濾到您感興趣的主菜和餐廳,並將主菜添加到訂單中的每個記錄。

select a.order_id, primary_dish, dish_id, dish_name, category_id, category_name 
from abc a 
inner join (
    Select distinct order_id, dish_name as primary_dish 
    from abc 
    where dish_name='Paneer_pizza' and restaurant_id=1 
) b on b.order_id = a.order_id 
where primary_dish != dish_name --optionally exclude the primary dish record 

所以算上其他種類的菜爲主要的菜是:

with dishes as (
    select a.order_id, primary_dish, dish_id, dish_name, category_id, category_name 
    from abc a 
    inner join (
     Select distinct order_id, dish_name as primary_dish 
     from abc 
     where dish_name='Paneer_pizza' and restaurant_id=1 
    ) b on b.order_id = a.order_id 
    where primary_dish != dish_name --optionally exclude the primary dish record 
) 
select primary_dish, category_name, count(*) from dishes 
group by primary_dish, category_name 

我認爲這可能是你真正想要的東西。這給出了在餐廳處理每個作爲主盤所有的菜然後給出與主,其類別和訂單的放置的總數量,其中包括次級菜有序菜:

with dishes as (
    select a.order_id, primary_dish, dish_id, dish_name, category_id, category_name 
    from abc a 
    inner join (
     Select distinct order_id, dish_name as primary_dish 
     from abc 
     where restaurant_id=1 
    ) b on b.order_id = a.order_id 
    where primary_dish != dish_name --optionally exclude the primary dish record 
) 
select primary_dish, dish_name, category_name, count(*) from dishes 
group by primary_dish, dish_name, category_name 
+0

非常感謝@systemjack 它的工作就像一個魅力 這正是尋找, tught abt它整天,但無法弄清楚 真正appriciate你的努力expalining它與詳細查詢 和thaks再次 – ankitkhanduri