#sql #oracle-apex
#sql #oracle-apex
Вопрос:
SELECT Order_Date, Sum(Number_Ordered) AS TotalPartsOrderdforDay
FROM Orders, Order_Line
WHERE Orders.Order_Number=Order_Line.Order_Number
GROUP BY Order_Date;
Ответ №1:
Научитесь использовать правильный, явный, стандартный join
синтаксис!
SELECT o.Order_Date, Sum(Number_Ordered) AS TotalPartsOrderdforDay
FROM Orders o JOIN
Order_Line ol
ON o.Order_Number = ol.Order_Number
GROUP BY o.Order_Date
ORDER BY TotalPartsOrderdforDay;
Примечания:
- Псевдонимы таблиц облегчают запись и чтение запроса.
- Вы можете использовать псевдоним столбца в
ORDER BY
. - Рекомендуется уточнять все ссылки на столбцы в запросе, особенно если ссылаются более чем на одну таблицу.
Ответ №2:
Вы можете добавить order by
предложение:
SELECT Order_Date, Sum(Number_Ordered) AS TotalPartsOrderdforDay
FROM Orders, Order_Line
WHERE Orders.Order_Number=Order_Line.Order_Number
GROUP BY Order_Date
ORDER BY 2 ASC;
Примечание: неявные соединения (имеющие более одного термина в from
предложении) — устаревшая практика, и вам, вероятно, лучше использовать явное join
:
SELECT Order_Date, Sum(Number_Ordered) AS TotalPartsOrderdforDay
FROM Orders
JOIN Order_Line ON Orders.Order_Number = Order_Line.Order_Number
GROUP BY Order_Date
ORDER BY 2 ASC;