由于该查询不扔了它意味着查询成功执行,这让下列可能性:
- 你在表订单明细没有数据或订单
- 你没有订单明细,其中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” –