次の契約テーブル レコードがあるとします。
Id EmployeeId StartDate EndDate
1 5601 2011-01-01 2011-09-01
2 5601 2011-09-02 2012-05-01
3 5601 2012-02-01 2012-08-01
4 5602 2011-01-01 2011-09-01
5 5602 2011-07-01 2012-10-01
すべての従業員は複数の契約を持つことができます
各従業員StartDate
よりも大きい無効な契約を見つけようとしています。EndDate
指定された結果に対してId=3
無効Id=5
です。私がやったことは次のとおりです。
SELECT a.Id
FROM Contracts a
GROUP BY a.EmpId
HAVING a.StartDate > a.EndDate
しかし、私はこのエラーが発生します:
Column 'Contract.Id' is invalid in the HAVING clause because it is not contained in either an aggregate function or the group by clause.
何か案が ?