EmpID、FirstName、LastName、StartDate、およびEndDatesという列を持つemployees表を指定します。 私はOracleでクエリを使用して、社員が人数を変更しなくて済んだ最長期間を計算したいと考えています。従業員の人数を変更しないで最長の期間を計算するにはどうすればいいですか?
select MAX(endDate-startDate)
from
(select endDate
from employees
where endDate is not null)
union all
(select startDate
from employees)
しかし、私はエラーだ:ここで
は私のクエリです ORA-00904: "STARTDATE":無効な識別子
がどのように私はこのエラーを修正することができますか? 質問はこの質問の正しい答えですか?
おかげ
構文エラーにかかわらず、 'enddate - startdate'は、従業員が会社にいた期間を計算します(そして、あなたはそれを超えて、誰かが会社にいる最長時間を取る)。会社が人員を変更していない最長の時間を知ることとは何か関係があります。とにかく間違ったことを計算するので、あなたが持っているものを修正しようとする価値はありません。 @Judy。 – mathguy
。 。従業員が同じ日に出発して出発する場合に特に注意を払いながら、サンプルデータと望ましい結果を含めることによって、人数の変化が本当に意味するものを明確にする必要があります。 –