выбрать разные данные из нескольких таблиц - PullRequest
0 голосов
/ 12 мая 2019

Как я могу выбрать

| Customer_name | Num_of_AllTime_Orders | Num_of_different_Products_That_Customer_Ordered |

в качестве таблицы, когда все данные взяты из другой таблицы?

Я пытался подсчитывать клиентов, объединять таблицы и группировать по ... но нетудачи.

SELECT CompanyName, count(Customer_ID) from dbo.CUSTOMERS join dbo.ORDERS on CUSTOMERS.Customer_ID=ORDERS.CustomerID

Customers_Table:

CustomerID | Customer_Name

Orders_Table:

OrderID| Customer_ID

Order_Detail_Table:

OrderID| Product_ID |

Ожидается выходтаблица с такими столбцами:

1. Customer_Name
2. Num_of_AllTime_Orders  - how many orders that costumer made?
3. Num_of_different_Products_That_Customer_Ordered - how many different products that customer ordered?

Ответы [ 2 ]

0 голосов
/ 13 мая 2019
SELECT Company_Name = C.CompanyName, NumOfOrders = COUNT (DISTINCT O.OrderID), NumOfProducts = COUNT (DISTINCT OD.ProductID)
FROM dbo.CUSTOMERS AS C JOIN ORDERS AS O ON C.Customer_ID=O.CustomerID JOIN ORDERDETAILS AS OD ON OD.OrderID=O.OrderID
GROUP BY C.CompanyName
ORDER BY 1
0 голосов
/ 13 мая 2019
Select CUSTOMERS.Customer_Name
    ,count(distinct ORDERS.OrderID) as Num_of_AllTime_Orders
    ,count(distinct Order_Detail_Table.Product_ID) as Num_of_different_Products_That_Customer_Ordered   
from dbo.CUSTOMERS 
    join dbo.ORDERS on CUSTOMERS.CustomerID = ORDERS.Customer_ID
    join dbo.Order_Detail_Table on ORDERS.OrderID = Order_Detail_Table.OrderID
group by CUSTOMERS.Customer_Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...