Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

SQL IF kullanımı


Öne çıkan mesajlar

Mesaj tarihi:
Bu aralar çok soru sormaya başladım yine. Birkaç gün boş zamanım var yeni şeyler deniyorum.

Şimdi bir taşıma hizmetimiz olsun.
1-3 kişi = 700TL
4-6 kişi = 800TL
7-8 kişi = 1200TL
...

price_one, price_two, price_three sütunlarımız var. Bunu pek tabi ki php ile aldırıp bakabiliriz ama sql içinde nasıl yaparız onu merak ediyorum. Şöyle bir yapı kurmaya çalıştım ama çok salakça oldu sanırım.

IF $kisi_sayisi > 8
SELECT price as price_three FROM ....
ELSE IF $kisi_sayisi > 6
SELECT price as price_two FROM ....
ELSE
SELECT price as price_one FROM ...

şurayı inceledim biraz ama istediğimi yapamadım yinede
Mesaj tarihi:
Yok ters olmuş o :)

kişi aralığı olacak fiyat sabit olur.

ayrı bir tablo ac.

relationId,personalMin,personalMax,price
-----------------------------------------
1,1,3,500
1,4,6,700
...
Mesaj tarihi:
Pluton said:

Bu aralar çok soru sormaya başladım yine. Birkaç gün boş zamanım var yeni şeyler deniyorum.

Şimdi bir taşıma hizmetimiz olsun.
1-3 kişi = 700TL
4-6 kişi = 800TL
7-8 kişi = 1200TL
...

price_one, price_two, price_three sütunlarımız var. Bunu pek tabi ki php ile aldırıp bakabiliriz ama sql içinde nasıl yaparız onu merak ediyorum. Şöyle bir yapı kurmaya çalıştım ama çok salakça oldu sanırım.

IF $kisi_sayisi > 8
SELECT price as price_three FROM ....
ELSE IF $kisi_sayisi > 6
SELECT price as price_two FROM ....
ELSE
SELECT price as price_one FROM ...

şurayı inceledim biraz ama istediğimi yapamadım yinede

sütunların adı price_one vs. ise,
SELECT price_one as price FROM ....
dersin; price as price_one değil. Öncelikle buna dikkat etmen lazım. Bir önceki sql sorunda da aynı sorun vardı.

Eğer bu aralıklar sabitse:
select case when $kişi_sayısı <= 3 then price_one
when $kişi_sayısı <= 6 then price_two
when $kisi_sayisi > 6 then price_three
else 0
end price
from ....
diyebilirsin.
Eğer 4Ever'ın dediği şekilde yaparsan
select price
from .....
where 1=1
and $kisi_sayisi between personalmin and personalmax
×
×
  • Yeni Oluştur...