我已经构建了一个查询:
SELECT [Hours], TaskId FROM DailyTaskHours
WHERE PointPerson = 'Dave Smith (smithd)'
AND ActivityDate Between Cast('1/01/13 12:01:01' As DateTime)
AND Cast('2/01/13 12:01:01' as DateTime)
这将返回所有小时以及他们结算的相关taskId。 TaskId是Task表的forign键。作为同一个查询的一部分,我想返回一个名为Name的列和一个名为StoryId的列,该列位于Task表中。我该如何做到这一点?
答案 0 :(得分:1)
这应该做:
SELECT D.[Hours],
D.TaskId,
T.[Name],
T.StoryId
FROM DailyTaskHours D
INNER JOIN Task T
ON D.TaskId = T.TaskId
WHERE D.PointPerson = 'Dave Smith (smithd)'
AND D.ActivityDate Between Cast('1/01/13 12:01:01' As DateTime)
AND Cast('2/01/13 12:01:01' as DateTime)
但是你应该总是明确地写出你正在使用的日期时间格式(CONVERT(DATETIME,Date,Format
),以及整年。在你的情况下,是'2/01/13'
2013年1月2日,2013年2月1日,1913年1月2日?等等。另外,在查询BETWEEN
数据类型时,尽量避免使用DATETIME
({{3} })