kod: ("SELECT k.isbn, k.kitap as id, k.baski_yili, k.isbn, k.yazar as yazar_id, k.yayinevi as yayinevi_id, st.fiyat, k.indirim, k.resim_link, y.yazar, ye.yayinevi, ki.kitap, k.stok, st.isbn, st.raf, st.id as stok_id FROM stoklar AS st
INNER JOIN kitaplar as k on k.isbn=st.isbn
INNER JOIN yazarlar AS y ON y.id=k.yazar
INNER JOIN yayinevleri AS ye ON ye.id=k.yayinevi
INNER JOIN kitap_id as ki on ki.id=k.kitap
where st.tur='1'
group by k.isbn order by st.id desc limit 20")


şimdi arkadaşlar, böyle yaptıgımda, istediğim gibi sonuç vermiyor. sanırım önce 3000 küsur stok'u alıp, 100.000 kitap arasından seçiyor ve bunun 20 tanesini basıyor. yaklaşık 20sn sürüyor.

ben istiyorum ki: stokların arasından son 20 stok'u seçsin ve ekranıma bunları bassın. sadece 20 stok ve onları eşlesin.

bunu nasıl belirtebilirim bu gibi bir kodda?

 

Ipucu sorusu:"Son 20 stok" ifadesindeki 'son 20' belirteci neyi ifade eder?

nooneatall

hocam ipucu sorusunu cevaplayamadım şuan :((

tchuck

yok abi çözemedim ya mysql inner join limit diye arattım ve bir türlü çözüm bulamadım fıttırmanın eşiğine geldim sonunda sinirden mouse u parçalıcam şimdi

tchuck

alt sorgu yapacaksın, subscript yani. son 20 stok'u stok tablosunda where ile kısıtlayacaksın. bu elinde küçük bir tablo olacak. diğer tabloları bu tabloya joinleyeceksin. sonuçta zaten 20'den fazla sonuç getirmez limit falan da kullanmana gerek olmaz.

son 20 stok'u nasıl yapacağına tablodan senin karar vermen gerekir. ben olsam rownumber çakardım.

esenboga
1

mobil görünümden çık