我有五個表:笨:加入超過3個表
Bill
:無(PK),日期,時間,總BillOrderRelation
:無(FK),ORDER_ID(FK)Order
:ORDER_ID(PK),menu_id(FK),數量,總Menu
:menu_id(PK),CATEGORY_ID(FK),MENU_NAME,股票,價格Category
:CATEGORY_ID(PK),CATEGORY_NAME,顏色
就我而言,我必須檢索哪一個菜單在一天範圍內具有最高的銷售額,7天範圍和30天範圍內。
我已經成功檢索這些信息,但我認爲它太複雜。首先,我必須檢索Bill的日期,然後在BillOrderRelation中查找訂單,然後找到Menu,並找到Category類別。它包含了很多查詢和複雜的方法來完成相同菜單的總結。
我的問題是,是否有可能在一個查詢中查詢所有這些表以檢索menu.menu_name,order.quantities,order.total,category.name,並且它包含了檢索到的相同菜單的總和?
我已經成功進行查詢三個表,而不使用時間範圍,這樣的..
SELECT
menu.menu_name as top_item,
SUM(order.quantities) AS count_sold,
SUM(order.total) AS amount,
category.nama AS categories
FROM
menu, order, category
WHERE
menu.mennu_id = bill.menu_id
AND category.category_id = menu.category_id
GROUP BY
bill.menu_id, menu.menu_name, category.category_name
ORDER BY
count_sold DESC
是否有以上的情況下,任何取巧的方法?
[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using -old-style-joins.aspx) - 在ANSI-** 92 ** SQL標準(** 25)中,舊式*逗號分隔的表*樣式列表已替換爲* proper * ANSI'JOIN'語法年**前),其使用是不鼓勵 –
啊謝謝你告訴我,我不會再使用這些語法.. –