由於該查詢不扔了它意味着查詢成功執行,這讓下列可能性:
- 你在表訂單明細沒有數據或訂單
- 你沒有訂單明細,其中OrderDetails.Date = '05/07/2013'
做到這一點,看看是否有該日期
SELECT COUNT(*) AS DateCount FROM OrderDetails WHERE Date = '05/07/2013'
列如果返回0,你必須與d沒有訂單明細吃,如果它返回1個或多個執行下列操作
SELECT COUNT(*) AS OrdersWithDateCount
FROM Orders
JOIN OrderDetails
ON Orders.Oid = OrderDetails.Oid
WHERE OrderDetails.Date = '05/07/2013'
如果你在上面的例子中返回零,但在下面的例子中
SELECT COUNT(*) AS OrderDetailsWithDateCount
FROM OrderDetails
WHERE Date = '05/07/2013'
你有詳細的記錄不回零,但沒有訂單記錄或孤兒記錄。請確保您有正確的日期,請執行下列操作
SELECT DISTINCT Date
FROM OrderDetails
WHERE Date BETWEEN GETDATE()-90 AND GETDATE()
如果你看到你的約會比賽可能是因爲你的數據類型是日期時間,可以嘗試使用
DECLARE @TargetDate DATE = '05/07/2013'
SELECT COUNT(*) FROM OrderDetails
WHERE OrderDetails.Date
BETWEEN DATEADD(day,-1,@TargetDate)
AND DATEADD(day,1,@TargetDate)
如果這樣做返回其他0然後你需要使用這種方法來獲得正確的結果。如果它返回0,那麼你肯定有與'05/07/2013'
有一點要檢查的是,從日期轉換文本正在做你期望的事情......你可能想要使用更安全的文本表示形式「yyyy-mm-dd」 –