To get the total value of all orders delivered by each shipper, you need to join three tables: Orders, OrderDetails, and Products. Here’s the SQL query you can use:
sqlSELECT
Shippers.ShipperName,
COUNT(Orders.OrderID) AS NumberOfOrders,
SUM(Products.Price * OrderDetails.Quantity) AS TotalValue
FROM
Orders
LEFT JOIN
Shippers ON Orders.ShipperID = Shippers.ShipperID
LEFT JOIN
OrderDetails ON Orders.OrderID = OrderDetails.OrderID
LEFT JOIN
Products ON OrderDetails.ProductID = Products.ProductID
GROUP BY
ShipperName;
This query first joins the Orders and Shippers tables to get the shipper’s name and the count of orders delivered by each shipper, similar to your previous query. Then, it joins the OrderDetails and Products tables to calculate the total value of all orders delivered by each shipper, which is the sum of the price of each product multiplied by the quantity ordered.
Make sure to adjust the table and column names according to your actual database schema.
المزيد من المعلومات
للحصول على قيمة إجمالية لجميع الطلبات التي تم تسليمها من قبل كل شاحن، تحتاج إلى الانضمام إلى ثلاث جداول: Orders، OrderDetails، و Products. هنا هو الاستعلام SQL الذي يمكنك استخدامه:
sqlSELECT
Shippers.ShipperName,
COUNT(Orders.OrderID) AS NumberOfOrders,
SUM(Products.Price * OrderDetails.Quantity) AS TotalValue
FROM
Orders
LEFT JOIN
Shippers ON Orders.ShipperID = Shippers.ShipperID
LEFT JOIN
OrderDetails ON Orders.OrderID = OrderDetails.OrderID
LEFT JOIN
Products ON OrderDetails.ProductID = Products.ProductID
GROUP BY
ShipperName;
يقوم هذا الاستعلام أولاً بالانضمام بين جداول Orders و Shippers للحصول على اسم الشاحن وعدد الطلبات التي تم تسليمها من قبل كل شاحن، مماثل للاستعلام السابق الخاص بك. ثم، ينضم إلى جداول OrderDetails و Products لحساب القيمة الإجمالية لجميع الطلبات التي تم تسليمها من قبل كل شاحن، والتي تعتبر مجموع سعر كل منتج مضروبًا بكمية الطلب.
تأكد من ضبط أسماء الجداول والأعمدة وفقًا لهيكل قاعدة البيانات الفعلي الخاص بك.