特定客户订购的商品清单&列出在一段时间内订购的商品

时间:2014-01-16 10:53:06

标签: sql list

我一直在努力,但我是SQL的新手,我想知道是否有人可以帮助解决我的问题。

1)我想要显示我的数据库中特定客户订购的项目的基本列表。

2)列出上周订购的所有订单:

SELECT Order.Order_number, Customer.Customer_email, Order.Date
FROM Order
INNER JOIN Customer
ON Order.???? =????;

(还需要使用BETWEEN语句显示日期,但我不清楚如何)

只需要最基本的解决方案。

谢谢,如果有人可以提供帮助。

3 个答案:

答案 0 :(得分:0)

SELECT Order.Order_number, Customer.Customer_email, Order.Date 
FROM Order
WHERE Order.date BETWEEN 'date1' AND 'date2'
INNER JOIN Customer ON Order

只需弹出您需要订单的日期。硬编码不是最好的解决方案,但它更容易。只要记住,当你要开始更大规模的编码时,要尽可能地使事物变得动态,否则你会将自己编码到一个角落。

我希望语法可以帮到你。

答案 1 :(得分:0)

你应该尝试这些方面的东西:

SELECT Order.Order_number, Customer.Customer_email, Order.Date
FROM Order
INNER JOIN Customer
ON Order.CustomerID = Customer.CustomerID
WHERE Order.Date BETWEEN @datefrom and @dateto

由于您没有发布表结构,这只是一个建议

答案 2 :(得分:0)

首先确定订单和客户之间的关系是什么? 我假设您有一个客户ID字段,订单也有客户ID也作为外键 所以...

SELECT 
 Order.Order_number, 
 Customer.Customer_email, 
 Order.Date 
FROM Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID

这样就可以对你的关系进行分类(请注意,由于你没有提供实体的配置,所以请注意这一点。)

接下来你想看看之间的日期?那么通常在进行用户输入时(再次假设)你需要一个存储过程。

所以

CREATE PROCEDURE MyStoredProcedureName
@orderdatefrom as datetime,
@orderdatetoo as datetime
AS
SELECT 
 Order.Order_number, 
 Customer.Customer_email, 
 Order.Date 
FROM Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID
WHERE (order.date >= @orderdatefrom  AND order.date <= @orderdatetoo)
ORDER BY order.date asc

所以@paramters在那里提供用户输入,你只需在条件子句中使用它们(请注意,如果你改变连接说,左连接,你需要使用AND而不是WHERE)

由于你没有提供太多信息,所以这些都是假设某些事情。 希望它有所帮助