Merhaba,
Sql ile select çekip ürünleri sıralıyorum ama bazı ürünler dopingli olduğu için önceliği onlara vermek istiyorum ama dopin tablomda sıralama var örnek 1 bekliyor 2 onaylı 3 bitti.
Buna Göre Sorgumda sadece ilk başa 2 olanları getirip sonrasında diğer ürünleri sıralamalıyım.
Aşağıdaki Kodda ORDER BY id.durum DESC dediğimde bekleyenler ve bitenlerde sıraya giriyor ben sadece onaylı yani 2 olanlar gelsin sonrasında ise NULL olanlar gelsin istiyorum.
SELECT * from urun u LEFT JOIN urun_doping id on i.urid=id.iID where i.urun_durumu=1 ORDER BY id.durum DESC LIMIT 18
Hocam case when order yapabilirsin örnek kod bırakacağım ama çalışıp çalışmadığından emin değilim. sadece örnek:
SELECT * from
urun u
LEFT JOIN urun_doping id ON
i.urid=id.iID
WHERE i.urun_durumu=1
ORDER BY
(
CASE
WHEN id.durum = 1 THEN 3
WHEN id.durum = 2 THEN 1
WHEN id.durum = 3 THEN 2
) ASC
DESC LIMIT 18