• 07-05-2018, 00:15:13
    #1
    Merhabalar,

    Şu şekilde bir kod yapım mevcut.

    Takvim ID = 18 (br_takvim tablosunda bir adet kayıtlı primary key AI.
    Rezervasyonlar tablosunda ise 18 numaralı takvim_id birden fazla kayıtlı. Bu yüzden birden fazla sonuç dönüyor ve bu hatayı alıyorum. Bu hatayı tam olarak nasıl giderebiliriz?

    SELECT
        *,
        (
        SELECT
            durum
        FROM
            br_rezervasyonlar
        WHERE
            br_rezervasyonlar.takvim_id = br_takvim.id AND br_rezervasyonlar.durum >= 1 AND br_rezervasyonlar.durum < 4
    ) AS durum,
    (
        SELECT
            ogrenci_id
        FROM
            br_rezervasyonlar
        WHERE
            br_rezervasyonlar.takvim_id = br_takvim.id AND br_rezervasyonlar.durum >= 1 AND br_rezervasyonlar.durum < 4
    ) AS ogrenci_id
    FROM
        `br_takvim`
    Örnek veritabanı:

    br.takvim :

    takvim.id-takvim.adi
    18-Test-1
    19-Test-2

    ------------------------------------------------

    br.rezervasyonlar

    rezervasyonlar.id-rezervasyonlar.tarih
    18-xxxx.xx.xx
    18-xxxx.xx.xx
    19-xxxx.xx.xx
  • 08-05-2018, 23:49:04
    #2
    Merhaba,

    rezervasyonlar.id ye göre gruplayıp rezervasyonlar.tarih max ı nı alıp durumu çözebilirsin bu durumda sonra tarihli kayıdı geri dönderecektir.