0
我有一個關於光標SQL Server的援助
的問題是問題:所有訂單,其在2008年8月到期顯示以下格式的細節
OrderNumber (n items) due DueDate is Status
這是預期的輸出
SO75123(3 items) due Aug 12 2008 12:00AM is Shipped
我有這個迄今爲止
DECLARE
@salesOrderID INT,
@salesOrderNum NVARCHAR(20),
@dueDate DATETIME,
@status NVARCHAR(20),
@totalDue MONEY,
@numDetail INT,
@count INT = 0;
DECLARE salesReportCursor CURSOR
FOR
SELECT Count(S.salesOrderID),p.SalesOrderNumber,p.Duedate, status =
CASE when p.status =1 THEN 'In Process'
when p.status =2 THEN ' Approved'
when p.status =3 THEN ' Backordered'
when p.status =4 THEN ' Rejected'
when p.status =5 THEN ' Shipped'
END
FROM Sales.SalesOrderHeader p, Sales.SalesOrderDetail s
WHERE p.SalesOrderID=s.SalesOrderID AND P.DueDate >= '2008' AND p.DueDate < '2009'
Group by p.SalesOrderNumber,p.Duedate,status
ORDER BY SalesOrderNumber DESC
我應該繞360行,但我越來越像1400.請告訴我什麼是錯誤的,在我的where子句是導致錯誤。
我的數據庫中的圖片是http://www.2shared.com/photo/h2-jMQyP/AdventureWorks2008.html
三件事情:1)你也許應該標記該「功課」(如果是),2)你應該做一個「內部連接」的SalesOrderHeader和SalesOrderDetail表之間...和3)也許問題出在你的「地方」,或者你應該在你的「組中」指定*少於*列「 – paulsm4 2012-04-02 02:22:20
而且你不會將結果限制於2008年8月到期的訂單。 – HABO 2012-04-02 02:24:22
@ paulsm4這是一個作業即時練習我的測試,這是下週 – user1297398 2012-04-02 02:26:35