【发布时间】:2013-04-26 09:09:54
【问题描述】:
我有一个表,其中每个记录都有一个 date 字段和一个 time(7) 字段。将记录插入数据库后,它将记录插入日的日期和插入时间。
现在我想从Table1 INNER JOIN Table2 中选择今天第一次出现的所有记录,因为这些记录可以重复。我尝试使用time(7) 字段选择今天日期中record1 = 'ABC' 的最少时间,但这不会返回任何结果,我确信查询应该返回 1 个结果,因为它以不同的时间记录了两次,但与今天的日期。如何选择第一次出现今天日期的产品?
示例:
SELECT ProductName, Description, Quantity,
FROM Products
INNER JOIN Transactions
ON Products.ProductID = Transactions.ProductID
WHERE Transactions.ProductID = 'A6612'
AND CONVERT(VARCHAR(20), `Transactions.Date_Tracked, 103) = CONVERT(VARCHAR(10), getdate(), 103)
AND Time_Tracked = (
SELECT min(Time_Tracked)
FROM Transactions
)
AND Country = 'United States'
【问题讨论】:
-
必须返回多少条记录?
-
一条记录,因为我有两个产品条目,一个在
09:15:04,另一个在09:15:41,所以它会选择第一个。
标签: sql sql-server sql-server-2008