:
select a.*, b.staff_time
from employee a
left join staff_time b on
a.employee_id = b.Employee_ID
and a.date = b.date
and a.interval = b.interval
とクエリ上記はこれを生産しますか?
select a.id,a.employee_id,a.date,a.interval,a.Staff_Time,
case when a.rankk = 1 then a.Staff_Time else 0 end new_Staff_Time
from
(select a.*, b.staff_time,
ROW_NUMBER() over (partition by a.employee_id,a.date,a.interval order by a.date DESC) as rankk
from employee a
left join staff_time b on
a.employee_id = b.Employee_ID
and a.date = b.date
and a.interval = b.interval) a
left join
(
select a.*, b.staff_time
from employee a
left join staff_time b on
a.employee_id = b.Employee_ID
and a.date = b.date
and a.interval = b.interval
) b on a.id <> b.id and
a.employee_id = b.Employee_ID
and a.date = b.date
and a.interval = b.interval
あなたの質問を編集して、(1)予想される出力と(b)既存のクエリを含めることができますか?これにより、簡単にクエリを修正することができます。また、どのデータベースソフトウェアを使用しているかを知ることも役立ちます。適切なタグを追加します。 – HABO
こんにちは、生産しようとしている結果セットの例を追加してください。 – pacreely
こんにちは、私はあなたが私のポストで要求しているものを追加しました。前もって感謝します。 – Mixer