我想要过去7个月他们从未参与过项目的运营商列表
SELECT I.*
FROM Operator I
WHERE NOT EXISTS (SELECT *
FROM Project_Operator
WHERE SYSDATE-begindate < 7
AND I.numOperator = numOperator);
我想知道这是否正确
答案 0 :(得分:1)
你有点接近,但日期之间的差异是以天为单位,而不是几个月,逻辑是倒退的:
SELECT I.*
FROM Operator i
WHERE NOT EXISTS (SELECT *
FROM Project_Operator po
WHERE po.begindate > add_months(sysdate, -7) AND
I.numOperator = po.numOperator
);
也就是说,过去七个月(not exists1
)开始没有项目(“po.begindate > add_months(sysdate, -7)
”)。