folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder SQL Hiyerarşi Sorgusu Yardım Gerekli



SQL Hiyerarşi Sorgusu Yardım Gerekli

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Shuqufe
    Shuqufe's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    Baba normal bir sorgu ile bu olayı çözmen zor.

    Php ile çalışıosan bu şekilde halledebilirsin. Ama baya complike bi sql yazmak lazım sanal tablolu falan sanki.

    $Sql = mysql_query("Select * from Tablo where parentid = null");
    while ($parent= mysql_fetch_object($Sql)) {
              echo $parent->baslik;
              $childSql = mysql_query("Select * from Tablo where parentid='".$parent->id."'");
              while ($child = mysql_fetch_object($childSql )) {
                       echo $child->baslik;
              }
    }



     

    Shuqufe tarafından 17/Haz/16 17:44 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Ya arkadaşlar bahsettiğim olay tamamen kategori ve alt kategori mantığı

     

    Kategori A

          Kategori A'nın 1. Alt Kategorisi

          Kategori A'nın 2. Alt Kategorisi

          Kategori A'nın 3. Alt Kategorisi

                Kategori A'nın 3. Alt Kategorisinin 1. Alt Kategorisi

                Kategori A'nın 3. Alt Kategorisinin 2. Alt Kategorisi

    Kategori B

          Kategori B'nın 1. Alt Kategorisi

          Kategori B'nın 2. Alt Kategorisi

                Kategori B'nın 2. Alt Kategorisinin 1. Alt Kategorisi

                      Kategori B'nın 2. Alt Kategorisinin 1. Alt Kategorisinin 1. Alt Kategorisi

     

     

    Kısaca böyle söyleyeyim, umarım açıklayıcı olmuştur.

    Not: Her şeyi SQL tarafında halletmem gerekiyor, ASP, .NET, PHP vs.. çözümü ile yaklaşmayın lütfen.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek
    	;With Hierarchy(baslik, parentid, id, FullyQualifiedName, Level)
    	As
    	(
    	  Select E.baslik, E.parentid, E.id, Cast(E.baslik+'.' as NVarchar(MAX)), 0
    		From Categories E
    		Where E.parentid IS null
    	  Union all
    	  Select E.baslik, E.parentid, E.id, H.FullyQualifiedName+''+E.baslik+' > ',  H.Level+1
    		from Categories E
    		inner join Hierarchy H on H.id=E.parentid
    	)
    	
    	SELECT * FROM Hierarchy

     

     

    manglerman tarafından 17/Haz/16 18:01 tarihinde düzenlenmiştir

    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam, sorgumda hiçbir parametre göndermeyeceğim.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    hocam sorguyu kopyala yapıştır. tablo adını değiştir yeter. parametre göndermene gerek yok.


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam yine aynı sonuç, önce bütün üst kategorileri listeliyor daha sonra da üst kategorilere ait alt kategorileri listeliyor.

     


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    en sona

     

    SELECT * FROM Hierarchy order by FullyQualifiedName ASC olarak değiştir.

    ce baslık kolonunda ana kategori ismini kullanma. gönderdiğim sorgu zaten onu hallediyor.

     

    ben kullanıyorum olmamasına imkan yok.

    manglerman tarafından 17/Haz/16 18:31 tarihinde düzenlenmiştir

    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek
    manglerman bunu yazdı

    en sona

     

    SELECT * FROM Hierarchy order by FullyQualifiedName ASC olarak değiştir.

    Yok hocam olmadı, asc yada desc olayına takılmayın orada yazdığım sütun değerleri bambaşka değerler içeriyor aslında. Ben onları öylesine açıklayıcı olması için girdim.

    Şu konuyu tam deaylı aramadım ama stackoverflow amcada da bulamadım.

     

    ontedi tarafından 17/Haz/16 18:32 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    Hocam senin yapın tree yapısı, recursive olarak çağırman gerekiyor diyor sana verdiğim linkte.

    Sql de recursive çağırım nasıl yapılıyor bilmiyorum ama tree yapılarını incele


    Hello, i am nothing. I come from Neverland.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Austen
    Austen's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek
    Austen bunu yazdı

    Hocam buna baktın mı?

    Verilere ve sonuca baktın mı bunun doğru olması lazım.

    Bu değilse olayı biraz daha açıklayıcı anlatman gerekiyor.

Toplam Hit: 2038 Toplam Mesaj: 24
sql hiyerarşi recursive