这是数据库SQL编码项目的一部分。
我需要设计一个表来保存客户的订单 假设客户的详细信息(例如名称)存储在另一个表中。
使用我为订单设计的表,并假设其他表,写 一个SQL查询,可以为每个客户提供订单数量,每个客户一行。
The “Orders” table
Order_ID Order_NO Customer_ID
1 8088 3
2 9632 1
3 1272 4
4 6037 1
假设客户名称和其他详细信息(地址,电话号码,电子邮件)存储在“客户”表中。
我的SQL:
SELECT Customers.FirstName, Customers.FirstName, Orders.OrderNo
FROM Customers
FULL JOIN Orders
ON Customers.Customer_ID = Orders.Customer_ID
ORDER BY Customers.LastName
有什么东西拧干吗?
答案 0 :(得分:3)
将查询更改为内部联接
SELECT
Customers.FirstName
, Customers.FirstName
, Orders.OrderNo
FROM
Customers
INNER JOIN Orders ON Customers.Customer_ID = Orders.Customer_ID
ORDER BY
Customers.LastName
查询客户的订单金额
SELECT
Customers.LastName
, COUNT(Orders.Order_Id)
FROM
Customers
INNER JOIN Orders ON Customers.Customer_ID = Orders.Customer_ID
GROUP BY
Customers.LastName
ORDER BY
Customers.LastName
完全加入
http://www.w3schools.com/sql/sql_join_full.asp
内部联接
答案 1 :(得分:2)
如果你只想COUNT
订单,你可以这样做:
SELECT
Customers.FirstName,
(
SELECT
COUNT(*)
FROM
Orders
WHERE
Orders.Customer_ID=Customers.Customer_ID
) AS NbrOfOrders
FROM
Customers
参考文献:
答案 2 :(得分:1)
不要忘记COUNT
和GROUP BY
。