• 18-05-2021, 04:21:34
    #1
    merhaba arkadaşlar şu sorunu nasıl çözebilirim?

    select * from users WHERE ((win/tournament)*100)>=10

    tournament 0 olduğunda hata veriyor ve hiç kimseyi getirmiyor.Buraya bi if koşulu eklemek mümkün mü?mesela
    if (tournament >0) ? ((win/tournament)*100>=0 : tournament=0 daki değerleri getir gibi

    google dan araştırdım hiçbiri sonuç vermedi.
  • 18-05-2021, 04:34:12
    #2
    Reveloper
    select * from users WHERE ((win/tournament)*100)>=10 and tournament>0
  • 18-05-2021, 14:01:35
    #3
    Burti adlı üyeden alıntı: mesajı görüntüle
    select * from users WHERE ((win/tournament)*100)>=10 and tournament>0
    Böyle hem ilkini hem ikincisini arar ve sonuç gene 0 döner.Burada olay örneğin 10/0 ya da 5/0 olmaması ya da en basitinden kullanıcı ilk kaydolduğunda bütün değerleri 0 olur 0/0 olduğunda kesici 0 olduğundan mysql uyarı döndürüyor
  • 18-05-2021, 14:23:43
    #4
    Reveloper
    JeXiR adlı üyeden alıntı: mesajı görüntüle
    Böyle hem ilkini hem ikincisini arar ve sonuç gene 0 döner.Burada olay örneğin 10/0 ya da 5/0 olmaması ya da en basitinden kullanıcı ilk kaydolduğunda bütün değerleri 0 olur 0/0 olduğunda kesici 0 olduğundan mysql uyarı döndürüyor
    o zaman Mobil olduğum için yazamadım şuradan türetebilirsiniz;

    SELECT CAST(
    CASE
    WHEN Obsolete = 'N' or InStock = 'Y'
    THEN 1
    ELSE 0
    END AS bit) as Saleable, *
    FROM Product
  • 18-05-2021, 18:35:53
    #5
    Burti adlı üyeden alıntı: mesajı görüntüle
    o zaman Mobil olduğum için yazamadım şuradan türetebilirsiniz;

    SELECT CAST(
    CASE
    WHEN Obsolete = 'N' or InStock = 'Y'
    THEN 1
    ELSE 0
    END AS bit) as Saleable, *
    FROM Product
    Buda vermedi sonucu (( kafayi yedirdi bana