新文章 网摘 文章 随笔 日记

分类汇总并在描述栏列示明细数量的oracle写法

SELECT v.mealdate, v.mealtype, v.restaurant, v.food
    , SUM(v.quantity) AS quantity
    , stragg(v.employee || '[' || v.quantity || ']') AS employee
FROM (
    SELECT o.mealDate, o.mealType, r.name AS restaurant, f.name AS food, e.emp_name AS employee
        , SUM(d.quantity) AS quantity
    FROM meal_order o
    LEFT JOIN meal_orderdetail d ON o.id = d.orderid 
    LEFT JOIN meal_restaurant r ON o.restaurantid = r.id 
    LEFT JOIN meal_food f ON d.foodid = f.id 
        LEFT JOIN sys_emp e ON o.employeeid = e.emp_id 
    GROUP BY o.mealdate, o.mealType, r.name, f.name, e.emp_name
) v
GROUP BY v.mealdate, v.mealtype, v.restaurant, v.food
ORDER BY v.mealDate DESC, v.mealType, v.restaurant, v.food

效果如图:

posted @ 2021-01-08 08:58  岭南春  阅读(229)  评论(0)    收藏  举报