none
Çekilen Veriyi Gruplandırma ve aynı satırda yanyana yazma RRS feed

  • Soru

  • Herkese kolay gelsin. C# form uygulamasında localdatabase den veri çekiyorum.

    Çektiğim şekil aşağıda;

    KayitNo        Gönderiliği Yer                      Şehir                              Posta  Ücreti

      1                Ankara Milli Eğitim              Ankara                                  5

      2               İstanbul Milli Eğitim             İstanbul                                3

      3               Ankara Milli Eğitim               Ankara                                  5

    Yapmak isteğim ise;

    KayitNo        Gönderiliği Yer                  Şehir                             Posta  Ücreti

      1, 3              Ankara Milli Eğitim              Ankara                                  5

      2               İstanbul Milli Eğitim               İstanbul                                3

    Gönderilen Yer, Şehir ve Ücreti aynı olanları grouplandırıp tek satırda göstermek, bunu yaparken KayıtNo daki verileri aynı satıra yanyana yazmak..

    16 Kasım 2018 Cuma 22:23

Tüm Yanıtlar

  • Soruma bilen hocalarım yardımcı olursa memnun olurum.
    17 Kasım 2018 Cumartesi 12:22
  • ALTER FUNCTION KAYITNUMARALARI
    (
        @KURUM NVARCHAR(150),
        @SEHIR NVARCHAR(100),
        @UCRET DECIMAL(10, 2)
    )
    RETURNS VARCHAR(300) AS BEGIN
        DECLARE @KAYITNUM NVARCHAR(300) SET @KAYITNUM = ''
    
        SELECT @KAYITNUM = @KAYITNUM + ',' + KAYITNO 
        FROM TABLOADI T 
        WHERE GONDERILDIGIYER = @KURUM AND SEHIR = @SEHIR AND POSTAUCRETI = @UCRET
    
        RETURN STUFF(@KAYITNUM, 2, 1, '')
    END

    Kullanımı,

    SELECT GONDERILDIGIYER, SEHIR, POSTAUCRETI, DBO.KAYITNUMARALARI(GONDERILDIGIYER, SEHIR, POSTAUCRETI)
    FROM TABLOADI
    GROUP BY GONDERILDIGIYER, SEHIR, POSTAUCRETI

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    17 Kasım 2018 Cumartesi 13:17
  • Herkese kolay gelsin. C# form uygulamasında localdatabase den veri çekiyorum.

    Çektiğim şekil aşağıda;

    KayitNo        Gönderiliği Yer                      Şehir                              Posta  Ücreti

      1                Ankara Milli Eğitim              Ankara                                  5

      2               İstanbul Milli Eğitim             İstanbul                                3

      3               Ankara Milli Eğitim               Ankara                                  5

    Yapmak isteğim ise;

    KayitNo        Gönderiliği Yer                  Şehir                             Posta  Ücreti

      1, 3              Ankara Milli Eğitim              Ankara                                  5

      2               İstanbul Milli Eğitim               İstanbul                                3

    Gönderilen Yer, Şehir ve Ücreti aynı olanları grouplandırıp tek satırda göstermek, bunu yaparken KayıtNo daki verileri aynı satıra yanyana yazmak..

    Hocam, Murat AKSARAY hocamın verdiği yanıtın işinize yaracağını düşünerek soru ile alakasız birşey eklemek istiyorum. Tabloda sadece bu görünen bilgiler yer almıyordur muhtemelen çünkü bilgiler tamamen aynı. Aynı bilgilerin tabloya defalarca eklenmesi mantıksız. Eğer tabloda başka sütunlarda varsa bu sıralama esnasında onları nasıl listelemeyi düşünorsunuz? Tablonun kullanım amacını pek çözemedim. 

    Not: Eleştiri değil sadece merak :)

    17 Kasım 2018 Cumartesi 22:33
  • Murat hocam verdiğiniz cevap için çok teşekkür ediyorum. Local database kullanıyorum, yaptığım evrak kayıt programı. Gönderdiğiniz kodları çalıştıramadım hata aldım.

    Acemiliğimden sorayım, c# form da  bu kodlar desteklemiyor olabilir mi? Başka yolu var mı acaba? yada ben mi çalıştrımadım. Şimdiden iyi çalışmalar.

    İYİLİ52 2. tablo yu veri tabanına eklemeyeceğim,  2. tabloda aynı yere gidecek kayıtların raporunu alıp yazdırıyorum.

    Mesela çıktı aldığım Rapor da Ankara Milli  Eğitime birden fazla evrak gidecekse bunları alt alta değilde tek satırda gruplandırıp, evrak numaralarını gruplandırdığım tek satıra yanyana yazmak istiyorum.

    18 Kasım 2018 Pazar 06:19
  • İkisini veritabanına eklemeyeceksiniz hocam orayı anladım. Muhtemelen sadece Datagridde göstereceksiniz evet ama bu tablolar sadece bu şekilde mi yani posta ücretinden sonra hergangibir sutün geliyor mu? 

    Size  adet tablo gereklı birincisinde evrakla ilgili bigiler olacak, ikincisinde sizin tablonuz olacak.

    İkinci Tablo(sizin gösterdiğiniz)

    Her şehrin bir Id si var mesala ankara 06, istanbul 34 vs. bilgiler değişek bilgiler değil, tabloya tekrar tekrar yazılmasına gerek yok. 

    KayitNo        Gönderiliği Yer                      Şehir                              Posta  Ücreti     

     06               Ankara Milli Eğitim              Ankara                                  5

    34              İstanbul Milli Eğitim              İstanbul                                3

     52          Ordu Milli Eğitim                       Ordu                                  7

    55            Samsun Milli Eğitim                Samsun                               8

    Bu tabloyu kaydettiniz, veri tekrarı yok... ikinci bir tablo oluşturuyorsunuz.

    ID                 Evrak KOnusu                         Şehir ID                                  

    1               Ali Veli Kınık Atama                        52                                  

    2              Mahmut Can Soruşturma                06                             

    3                Yarışma Duyurusu                         52                                 

    4               19 Mayıs Kutlamaları                      55                               

    Siz raporlarınızı alırken eğer gönderilecek şehre göre rapor çekmek istiyorsanız, yani Ordu ya hangi evrakları göndermişim diye. Şehir ID ye göre sorgulama yapar bir tabloda hepsini görürsünüz. Yazmaya çalıştığınız proğram hakkında çok fikrim oluşmadı ama eğer böyle birşey yapmaya uğraşıyorsanız işinizi görür.  Gerektiğinde iki tabloyu İnner Join kullarak birleştirirsiniz. 

    18 Kasım 2018 Pazar 06:57
  • (YARDIM) Değerli hocalarımdan yardım bekliyorum. Sorumu çözemedim.

    Sorumu kısa anlatayım.

    Örnek olarak yazayım. Veritabanımda KayitNo ve Sehir bilgileri var.

    Veritabanından bilgileri çekerken aynı sehir isimleri gruplandırmak ve aynı sehire birden fazla kayıt oluşturulmuş olursa, bunları KayitNo sütununda tek satırda yanyana yazmak istiyorum.

    Soruguyu c# ve access veri tabanından çekecek şekilde basit kodla nasıl yapabilirim??



    23 Kasım 2018 Cuma 20:52
  • (YARDIM) Değerli hocalarımdan yardım bekliyorum. Sorumu çözemedim.

    Sorumu kısa anlatayım.

    Örnek olarak yazayım. Veritabanımda KayitNo ve Sehir bilgileri var.

    Veritabanından bilgileri çekerken aynı sehir isimleri gruplandırmak ve aynı sehire birden fazla kayıt oluşturulmuş olursa, bunları KayitNo sütununda tek satırda yanyana yazmak istiyorum.

    Soruguyu c# ve access veri tabanından çekecek şekilde basit kodla nasıl yapabilirim??



    Hocam neden veritabanına aynı kayıtları tekrar tekrar ekleme gereği duyuyorsunuz? Bu performans kaybına sebep olacaktır.
    25 Kasım 2018 Pazar 09:30
  • Keşke access olduğunu soruda söyleyeseydiniz... Ve lütfen bu gibi sorularda birebir çalışan yanıt almak için create scriptileri hazırlayın. Bu şekilde ancak fikir verebiliriz.

    Kullanacağınız fonksiyonun adı JOIN... a,b,c yer, şehir, ücret olmak üzere... sorgunuz aşağıdakine benzemeli :

    SELECT  (SELECT JOIN(T2.kayitNo) FROM TABLO AS T2 where T1.a = T2.a AND T1.b=T2.b AND T1.c = T2.c) AS KayitNo,
    	 T1.a,
    	 T2.b,
    	 T3.c
    WHERE [TABLO] AS T1
    	GROUP BY T1.a, T2.b, T3.c
    Not: Access den vazgeçin, unutun, silin...


    www.cihanyakar.com


    25 Kasım 2018 Pazar 11:49