Bilgisayar-Bilişim Teknolojileri
Ana Sayfa
Bilişim Teknolojileri Forumu Son Konuları
24 Saat
Bilişim Teknolojileri - Formatör - Bilgisayar Öğretmeni Kayıt
Kayıt Olun
iletişim
iletişim
Detaylı Arama
Arama
Yeni Konu Aç
Yeni Konu Aç

Yan yana sütunları toplama

Konu, 'ASP - ASP.NET' kısmında mfatih4125 tarafından paylaşıldı.


Etiketler:
  1. mfatih4125

    mfatih4125 Üye

    Kayıt:
    17 Şubat 2018
    Mesajlar:
    10
    Beğeni:
    0
    Arkadaşlar classic asp kullanıyorum. Bir konuda takıldım fikir almak istiyorum. Yan yana sabit sütunları topluyorum onda sıkıntı yok. Ancak sütunlar değişken olduğunda toplama işini bir türlü gerçekleştiremedim. For döngüsü denedim ama başaramadım. Tablom aşağıdaki şekilde.

    w_id | s1 | s2 | s3 | Total
    -------+-----+----+----+------
    1 | 4 | 3 | 5 |
    2 | 0 | 5 | 10 |
    3 | 1 | 0 | 7 |
    4 | 5 | 6 | 0 |

    Burada örneğin sütunlar s4, s5, s6 şeklinde her zaman değişken olabiliyor. Bu durumda nasıl bir çözüm bulabilirim? Şu anda yaptığım şey. (s1+s2+s3+s4) şeklinde toplam olmak. Bu şekilde oluyor ama dediğim gibi sütunlar değişken olunca işler karışıyor.
     
  2. mobile

    mobile Seçkin Üye Seçkin Üye

    Kayıt:
    31 Ağustos 2009
    Mesajlar:
    436
    Beğeni:
    54
    Bu şekilde kaç farklı sütün olabiliyor. Sütunların hepsini tanımla. Değişken boş ise toplamasın dolu ise toplasın şeklinde yapabilirsin. Yani if kullanman gerekli bence
     
  3. mobile

    mobile Seçkin Üye Seçkin Üye

    Kayıt:
    31 Ağustos 2009
    Mesajlar:
    436
    Beğeni:
    54
    Aslında tam olarak kullanıcı tarafındaki senaryoyu söylesen daha iyi anlarız ne yapmak istediğini
     
  4. mfatih4125

    mfatih4125 Üye

    Kayıt:
    17 Şubat 2018
    Mesajlar:
    10
    Beğeni:
    0
    Dediğim gibi sütunlar değişebiliyor. Zaten sorun o. Sabit sütun sayısı olduğu zaman toplatabiliyorum. Sütun sayısı diyelim ki bu ay 8 oldu. Gelecek ay 21 olabilir. Sonraki ay 5'e düşebilir.
     
  5. mobile

    mobile Seçkin Üye Seçkin Üye

    Kayıt:
    31 Ağustos 2009
    Mesajlar:
    436
    Beğeni:
    54
    Maximum kaç olabilir sütün sayın bir sınır varmı
     
  6. specialist362

    specialist362 Seçkin Üye Seçkin Üye

    Kayıt:
    19 Eylül 2009
    Mesajlar:
    641
    Beğeni:
    61
    şu işini görür diye düşübüyorum olmazsa tabloyu atarsan bakabiliriz

    select sum(veri1) t1
    ,sum(veri2) t2
    ,sum(veri3) t3
    ,(select sum(veri1)+sum(veri2)+sum(veri3) from test_table) toplam
    from test_table;

    yatay dikey ne var ne yok toplar
     
  7. mfatih4125

    mfatih4125 Üye

    Kayıt:
    17 Şubat 2018
    Mesajlar:
    10
    Beğeni:
    0
    Arkadaşım dikkat etmediniz galiba dinamik yani değişken sütundan bahsediyoruz. Bu şekilde sabit sütunları zaten toplayabiliyoruz.
    toplanacak Sütunlar ş string olarak algıladığu anda s1'den s13'e kadar. Ancak yarın öbür gün bu s10'da bitebilir. Sürekli kodlarla oynamak istemiyorum. En son şu aşamaya kadar getirdim. Ancak artı ve asp tagleri string olarak algıladığından toplama işlemi yapmıyor.
    <%For x =1 to (mehmet-1) %>
    <%=objRec("s"&x&"")%> <% response.write("+")%><% next%><%=objRec("s"&mehmet&"")%>
    <%response.write ("%"&">")%>
    Not : Mehmet değeri 13
    Bu şekilde ekteki resimdeki sonucu alıyorum. Her şey doğru gidiyor ama dediğim gibi işaretleri string olarak algıladığından toplamıyor.
     

    Ekli Dosyalar:

    • 1.jpg
      1.jpg
      Boyut:
      160,8 KB
      Okunma:
      28
    Son düzenleme: 27 Mayıs 2020
  8. mobile

    mobile Seçkin Üye Seçkin Üye

    Kayıt:
    31 Ağustos 2009
    Mesajlar:
    436
    Beğeni:
    54
    Maximum olabilecek sütun sayını yazarmısın o zaman. Yada Şöyle örnekleyeyim. diyelimki maksimum yirmi sütun olabilir. Tam kodları yazmayacağım mantığını yazacağım.
    Diyeceksinki 20. sütunu kontrol et, doluysa 1. ve 20. sütun arasını topla, boşsa 19. sütunu kontrol et, doluysa 1. ve 19. sütun arasını topla, boşşsa 18. sütunu kontrol ........................
     
  9. mfatih4125

    mfatih4125 Üye

    Kayıt:
    17 Şubat 2018
    Mesajlar:
    10
    Beğeni:
    0
    20 sütüna göre yapalım örneğin. Ne düşünüyorsunuz? Kafanızdaki kodlama mantığı nedir? Ben döngü kullanmaya çalıştım.
    Kod:
        <%lastnumber=13%>
        <%for x=1 to (lastnumber-1)%>
        <%a=objRec("s"&x&"")%>
        <% Next%>
        <%
        b=objRec("s"&lastnumber&"")
        %>
        <%=a+b%>
    a tanımalması döngüde döndürmüyor. s12 olarak son sayıyı veriyor sadece.
     
  10. mobile

    mobile Seçkin Üye Seçkin Üye

    Kayıt:
    31 Ağustos 2009
    Mesajlar:
    436
    Beğeni:
    54
    Öncelikle ben asp ile kodlama yapmayı bırakalı on seneden fazla oldu. Dolayısıyla kodlarımda yanlışlık olabilir ve çok uzun olabilir. Muhtemelen aynı kodu yazmanın daha kısa yoluda vardır. Benimki sadece mantığına örnek olsun diye kabaca yazdım aklıma geldiği kadarıyla. Senin örneğin maksimum kaç sütun olabilirse o kadar yazarsın
    Kod:
    <%if getir("sutun20")<>"" then%>
    
    sutun20+sutun19+sutun18+sutun17+sutun16+sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1
    
    <%elseif getir("sutun19")<>"" then%>
        
    sutun19+sutun18+sutun17+sutun16+sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun18")<>"" then%>
        
    sutun18+sutun17+sutun16+sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun17")<>"" then%>
              
    sutun17+sutun16+sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1         
                    
    <%elseif getir("sutun16")<>"" then%>
          
    sutun16+sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
          
    <%elseif getir("sutun15")<>"" then%>
        
    sutun15+sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun14")<>"" then%>
        
    sutun14+sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun13")<>"" then%>
    
    sutun13+sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1
    
    <%elseif getir("sutun12")<>"" then%>
        
    sutun12+sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1   
        
    <%elseif getir("sutun11")<>"" then%>
    
    sutun11+sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1
    
    <%elseif getir("sutun10")<>"" then%>
        
    sutun10+sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1   
        
    <%elseif getir("sutun9")<>"" then%>
        
    sutun9+sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun8")<>"" then%>
        
    sutun8+sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun7")<>"" then%>
            
    sutun7+sutun6+sutun5+sutun4+sutun3+sutun2+sutun1         
                    
    <%elseif getir("sutun6")<>"" then%>
          
    sutun6+sutun5+sutun4+sutun3+sutun2+sutun1     
          
    <%elseif getir("sutun5")<>"" then%>
        
    sutun5+sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun4")<>"" then%>
        
    sutun4+sutun3+sutun2+sutun1     
        
    <%elseif getir("sutun3")<>"" then%>
        
    sutun3+sutun2+sutun1   
        
    <%elseif getir("sutun2")<>"" then%>
    
    sutun2+sutun1
        
    <%else%>
    
    sutun1
        
    <%end if%> 
     
    Son düzenleme: 30 Mayıs 2020
  11. mfatih4125

    mfatih4125 Üye

    Kayıt:
    17 Şubat 2018
    Mesajlar:
    10
    Beğeni:
    0
    Kardeş bu dinamik bir bir yapı değil. Bu tür çözümü ben zaten mevcut durumda yaptım sıkıntı yok. Benim istediğim döngü ile bir kaç satırlık kod. Hepsi bu kadar. Daha önce yazdığım kod da değişken tanımlamasında döngüye girmiyor.
    Kod:
     <%a=objRec("s"&x&"")%>
    bu kodla ilgili çözümü olan varsa yardım bekliyorum.
     

Sayfayı Paylaş /bbnetsosyal