PDA

Orijinalini görmek için tıklayınız : MYSQL - Subquery returns more than 1 row hakkında.


BR9
07-05-2018, 00:15:13
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

kurtomerfaruk
08-05-2018, 23:49:04
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.