select 
        `star_products`.*, @yeni_fiyat := 
star_config.has_altin*star_products.iscilikli_urun_agirligi AS yeni_fiyat, 
        @indirimli_yeni_fiyat := CAST(IF(star_products.discount > 0, 
(star_config.has_altin*star_products.iscilikli_urun_agirligi) - 
(star_config.has_altin*star_products.iscilikli_urun_agirligi) * 
star_products.discount / 100, 
star_config.has_altin*star_products.iscilikli_urun_agirligi) AS DECIMAL) AS 
indirimli_yeni_fiyat 
from 
        `star_products` 
left join 
        `star_config` on `star_config`.`id` = 1 
where 
        CAST(@indirimli_yeni_fiyat AS DECIMAL) > 300 
limit 10


Merhaba SQL kodum yukarıda ki gibi @indirimli_yeni_fiyat değişkeninde değeri 
300 den büyük olanları getir diyorum fakat hiçbir sonuç getirmiyor, 300 yerine 
100 dediğimde ise fiyatı 250, 300 , 350 gibi olan satırları getiriyor. Bu 
problemi nasıl çözebilirim. WHERE den sonra kullandığım değişkenin içindeki 
değeri nasıl test edebilirim sanırım orada bir hata var.
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap