folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder [Soru] MYSQL Tabloları Birleştirme



[Soru] MYSQL Tabloları Birleştirme

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Esen olsun. İşin içinden çıkamadığım bir sorunum var tablolar ve sql tümüyle aşağıda

    movies:

    movieid title plot rating director
    1 titanic Bollywood 10 James Cameron
    2 godfather holüvud 8 rene
    3 yeşillik türk 7 holy

    genres:

    genreid genre
    1 Horror
    2 Thriller
    3 Action
    4 Love

    moviegenres:

    moviegenresid movieid genreid
    1 1 2
    2 1 4
    3 2 3
    4 2 1
    5 3 1
    6 3 2

    links:

    linkid movieid link
    1 1 link1
    2 1 link2
    3 2 link3
    4 2 link4
    5 3 link5

    Şu kodlar ile

    select 
    m.*,
    group_concat(g.genre) as genres,
    group_concat(l.link) as links
    from movies m 
    
    left join links l
    on l.movieid=m.movieid
    
    left join moviegenres mg
    on m.movieid=mg.movieid
    
    left join genres g
    on g.genreid=mg.genreid
    
    group by l.movieid;
    select *
    from links
    

    Şöyle ikilemeli sıkıntı çekiyorum:

    movieid title plot rating director genres links
    1 titanic Bollywood 10 James Cameron Love,Thriller,Love,Thriller link2,link1,link1,link2
    2 godfather holüvud 8 rene Horror,Action,Horror,Action link4,link3,link3,link4
    3 yeşillik türk 7 holy Horror,Thriller link5,link5

    Üzerinde daha kolay denemeler yapabilin diye fiddle veriyorum: http://www.sqlfiddle.com/#!2/5e7932/5

    Nasıl düzeltebilirim yardım


    iyibu! yeniden..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Tamamdır sorunu çözdüm group_concat içerisine DISTINCT ekliyormuşuz

    Soruyu değiştiriyim o zaman sizce bu kodlar performanslı mı daha performanslı nasıl bir yol izleyebiliriz?

    by_Tet tarafından 03/Nis/16 22:16 tarihinde düzenlenmiştir

    iyibu! yeniden..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    nosql yapıya git movie' ler için. yoksa kafan çok ağrır. 


    Hello, i am nothing. I come from Neverland.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    ozgunlu bunu yazdı

    nosql yapıya git movie' ler için. yoksa kafan çok ağrır. 

    Hocam siteyi node.js ile yapıyorum. Kendi testlerim sonucunda 100k veriye kadar mysqlin çok daha stabil hızlı çalıştığını gözlemledim.

    Bu verilerde de bi takım performanslı sql ler yazabildikten sonra çok iyi verim alınıyor mysqlde

    Nosql belki daha iyidir ama syntax ı pek bilmiyorum ve tecrübem yok. 

    Önerin için çok teşekkür ederim


    iyibu! yeniden..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    by_Tet bunu yazdı
    ozgunlu bunu yazdı

    nosql yapıya git movie' ler için. yoksa kafan çok ağrır. 

    Hocam siteyi node.js ile yapıyorum. Kendi testlerim sonucunda 100k veriye kadar mysqlin çok daha stabil hızlı çalıştığını gözlemledim.

    Bu verilerde de bi takım performanslı sql ler yazabildikten sonra çok iyi verim alınıyor mysqlde

    Nosql belki daha iyidir ama syntax ı pek bilmiyorum ve tecrübem yok. 

    Önerin için çok teşekkür ederim

    http://binkurt.blogspot.com.tr/2015/02/mongodb-ile-calsmak.html

    Vakit bulursan bi oku hocam


    Hello, i am nothing. I come from Neverland.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek
    ozgunlu bunu yazdı

    paylaşım için teşekkürler. 

Toplam Hit: 1029 Toplam Mesaj: 6
mysql movie join concat group_concat group by left join genre