İçinde "kullanıcı" bulunan bir Oracle tablom var ve her bir etkinliğin gerçekleştiği tarihle ilgili olarak kullanıcılarla ilgili "olaylar" içeren bir tablo var. Her kullanıcı ve en son olay gösteren basit bir tablo üretmek istiyorum, ancak ben bunu yapmak için iç içe geçmiş sorgu veya toplama işlevi oldukça çalışamıyorum, çünkü ben sütun üzerinde toplu değil İstiyorum. Basitçe MAX(event_date)
istedim, bu oldukça basit olurdu, ama ben event_status where MAX(event_date)
gibi bir şey istiyorum. Eminim bir prosedüre başvurmadan yapmak mümkün, ama ben tam olarak çalışamıyorum. Bir çözümü olan var mı?Oracle - Birleştirilmiş işlevi kullanarak tabloları birleştir?
user_id user_name
1 bob
2 sally
3 fred
event_id user_id event_date event_status
1 1 3/1/15 hired
2 1 3/2/15 active
3 3 4/1/15 hired
4 3 4/3/15 on leave
5 2 3/3/15 hired
6 2 4/1/15 on leave
7 2 5/1/15 active
İstenilen sonuç:
user_name current_status
bob active
sally active
fred on leave
Teşekkür ederim, bu beni yumrudan geçirdi. Oracle, "limit" kullanımında biraz daha gariptir - sonunda bunu ROWCOUNT = 1 gibi ROWCOUNT = 1'den ayırarak çalışmasını sağladım: u u. *, (select * (select e.status) , e.user_id = u.user_id adresinden e.event_date tarafından siparişin verildiği yer) e_event_date desc ) Burada user_recentStatus kullanıcıları u; – user1071914