2016-09-19 62 views
-3

我们被要求创建一条SQL语句来显示响尾蛇峡谷杂货店在1997年1月1日订购的订单总订单数量。但是, ORDERS表与CUSTOMERS表不同。SQL - 如何在特定的日期在两个不同的表格中获得特定的订单

因此,这里是我所做的:

SELECT Orders.OrderID, 
    Orders.CustomerID, 
    Orders.EmployeeID, 
    Orders.OrderDate, 
    Orders.ShipperID, 
    Customers.CustomerID, 
    Customers.CustomerName, 
    Customers.ContactName, 
    Customers.Address, 
    Customers.City, 
    Customers.PostalCode, 
    Customers.Country 
FROM Customers 
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID; 
WHERE DATE = 1997-01-01 

但它显示我的“错误”的标志。如何解决这个问题?错误说:'无法准备'。

这里的链接数据库:你忘了在date添加引号http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

+1

MS SQL Server或MySQL的?它们在SQL的许多方面都非常不同。 – Richard

+1

在日期周围添加单个qoutes。 – Jens

+0

显示错误讯息 – Jens

回答

1

和错误的地方加入一个分号。

SELECT Orders.OrderID, 
     Orders.CustomerID, 
     Orders.EmployeeID, 
     Orders.OrderDate, 
     Orders.ShipperID, 
     Customers.CustomerID, 
     Customers.CustomerName, 
     Customers.ContactName, 
     Customers.Address, 
     Customers.City, 
     Customers.PostalCode, 
     Customers.Country 
    FROM Customers 
    INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID //u added semicolon here which is wrong 
    WHERE DATE = '1997-01-01'; 
+0

我做到了这一点,它仍然没有工作:(我继续得到错误1:无法准备语句 –

+0

嘿,你只是在错误的地方添加了分号,请检查NOw。 – Jagrati

+0

噢,对了,现在开始工作了!谢谢! –

1

没有任何DATE列在任何表格,请更换 DATE列Orders.OrderDate也semicolumn在错误的地方

SELECT Orders.OrderID, 
    Orders.CustomerID, 
    Orders.EmployeeID, 
    Orders.OrderDate, 
    Orders.ShipperID, 
    Customers.CustomerID, 
    Customers.CustomerName, 
    Customers.ContactName, 
    Customers.Address, 
    Customers.City, 
    Customers.PostalCode, 
    Customers.Country 
FROM Customers 
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
WHERE Orders.OrderDate= '1997-01-01'; 
相关问题