0
我被擊中牆壁試圖找出如何只選擇最近的日期值ID值的SQL設置最大隻有
SELECT TOP (100) PERCENT
dbo.StockStatusHistory.StockID AS Expr1,
dbo.Stock.StockNo, dbo.CardFile.CardName AS SalesPerson,
dbo.Stock.Description, dbo.Stock.Retail,
dbo.Stock.SaleOrderDate, dbo.Stock.WarrantyStartDate, dbo.Stock.SaleNotes,
dbo.Stock.ManuMonth, dbo.Stock.ManuYear, dbo.Stock.InspCertDate,
dbo.Stock.StockStatus, dbo.StockStatusHistory.NewStockStatus,
dbo.StockStatusHistory.ChangeDate AS Expr2,
dbo.StockStatusHistory.ID, dbo.CardFile.CardId,
dbo.Stock.SalesPersonId
FROM
dbo.Stock
INNER JOIN
dbo.CardFile ON dbo.Stock.SalesPersonId = dbo.CardFile.CardId
INNER JOIN
dbo.StockStatusHistory ON dbo.Stock.StockId = dbo.StockStatusHistory.StockID
WHERE
(dbo.Stock.StockStatus = 30) AND (dbo.Stock.WarrantyStartDate >= { fn CURDATE() })
AND (dbo.StockStatusHistory.NewStockStatus = 30)
OR (dbo.Stock.StockStatus = 30) AND (dbo.Stock.WarrantyStartDate IS NULL)
AND (dbo.StockStatusHistory.NewStockStatus = 30)
我試圖用MAX(dbo.StockStatusHistory.StockID)
但我想出了錯誤。
希望我的代碼有道理。很明顯,SQL查詢很新。
在此先感謝 安迪
*** SQL ***只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品......許多東西都是特定於供應商的 - 所以我們真的需要知道什麼* *您正在使用的數據庫系統**(和哪個版本)(請相應更新標籤).... –