Borang:
Tugas: id(bigint) nama(varchar). Simpan butiran tugas
Jobs: id(varchar(UUID)) task_id(bigint(class ID)), staus >(varchar(50)), created_time(timestamp). Simpan butiran pelaksanaan tugas
Nilai yang mungkin untuk status adalah GAGAL/SELESAI/GANGGU
Apa yang saya ingin capai ialah Dapatkan semua nilai terkini untuk setiap tugasan daripada jadual kerja
Jika tiada kerja dalam tugas, status pemulangan adalah batal
SELECT p.id, j.status FROM tas p inner JOIN job j ON j.task_id = p.id inner JOIN job j1 ON j.task_id = j1.task_id and j.create_time > j1.create_time;
Untuk versi SQL yang menyokong
ROW_NUMBER()
anda boleh melakukan ini:Jika tidak, gunakan sahaja cte atau subquery.