将等于字段值的月份添加到另一个字段

Add months equal to a field value to another field

我正在尝试编写一个查询来提取行 "not expired"

我有一个带有 table 的数据库,其中有:

IdActivity    lifespan (months)

还有一个 table 我有:

IdSubject    IdActivity    StartDate

现在我想提取所有尚未过期的 IdSubject activity

我需要类似的东西(我知道这是错误的:只是为了弄清楚我想要什么):

SELECT IdSubject FROM Tab2 INNER JOIN Tab1 USING(IdActivity)
WHERE DATEADD(StartDate, INTERVAL lifespan MONTS)>NOW()

我做了很多尝试,但没有任何效果!

提前感谢您的宝贵时间。

真的很接近 - 只错了一个字符:使用 < NOW() 而不是 > NOW() 来查找过期日期。

SELECT IdSubject
FROM Tab2
JOIN Tab1 USING(IdActivity)
WHERE DATE_ADD(StartDate, INTERVAL lifespan MONTH) < NOW()

SQLFiddle