Sobes.tech
Middle

Kursun en yüksek tarihi için ara tabloyla sorguyu nasıl yapılandırırsınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir ara tablo kullanarak kursun en yüksek tarihini almak için, toplama ve JOIN içeren bir SQL sorgusu uygulanabilir.

Varsayalım ki şu tablolar var:

  • courses (id, isim)
  • course_dates (course_id, tarih, fiyat)

Görev, her kurs için en yüksek tarihli kaydı almaktır.

Sorgu örneği:

SELECT c.id, c.isim, cd.tarih, cd.fiyat
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
    SELECT course_id, MAX(tarih) AS max_tarih
    FROM course_dates
    GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.tarih = max_dates.max_tarih;

Burada:

  • max_dates alt sorgusunda, her kurs için en yüksek tarih seçilir.
  • Ana sorgu, kursları tarihlerle birleştirir ve en yüksek tarihe göre filtreler.

Bu yaklaşım, en yüksek kurs tarihi ile güncel verileri almak için ara tablo kullanır.