我有两张桌子
Person(id, birthdate)
和
Workday(personid, date, hours)
两者birthdate
都date
采用 YYYYMMDD 格式,存储为字符串。
我需要一个查询,该查询返回一个表,其中包含一个人的年龄(0、1、2...)以及该人在该生命年工作了多少小时(一年将包括该人的生日月份)。
这是我到目前为止所拥有的:
SELECT CONVERT(INT, SUBSTRING(w.date, 0, 7)) - CONVERT(INT, SUBSTRING(p.birthdate, 0, 7)) AS age, w.hours AS totalhours
FROM Person AS p INNER JOIN Workday AS w ON p.id = w.personid
WHERE (p.person = @id)
这返回
我需要的是所有 0 < age <= 100,age 应该为 0 的行,并且这些行的总小时数应该相加。然后,对于 100 < 年龄 <= 200,年龄为 1,依此类推...
谢谢!