Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

SQL de takılınca ???

Konu, 'Veritabanları' kısmında LoS.ToF tarafından paylaşıldı.

  1. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    Bu SQL beni delirticek.

    Kod:
    SELECT `sh`.`id`     AS sh_id,
           `sh`.`durum`  AS sh_durum,
           `sh`.`okunma` AS sh_okunma,
           `sh`.`tur`    AS sh_tur,
           `sh`.`oy`     AS sh_oy,
           `sh`.`kimden` AS sh_kimden,
           `sh`.`baslik` AS sh_baslik,
           `sh`.`sh`     AS sh_sh,
           `sh`.`tarih`  AS sh_tarih,
           `sh`.`saat`   AS sh_saat,
           `yorum`.`id`  AS yorum_id,
            COUNT(`yorum`.`ustid`) AS yorum_c_ustid,
           `yorum`.`ustid`  AS yorum_ustid,
           `yorum`.`kimden` AS yorum_kimden,
           `yorum`.`durum`  AS yorum_durum,
           `yorum`.`yorum`  AS yorum_yorum,
           `yorum`.`tarih`  AS yorum_tarih
    FROM `sh`
       INNER JOIN `yorum` ON (`sh`.`id` = `yorum`.`ustid`)
    WHERE
       (
             (yorum.durum = 1)
          and
             (sh.durum = 1)
       )
    GROUP BY yorum_ustid
    LIMIT 0,10
    
    Yukarıdaki kod tam istediğim gibin çalışıyor canımcım ama
    Kod:
    ORDER BY yorum_c_ustid
    Dediğim zaman nedense istediğim gibi listelemiyor. Daha doğrusu listemektense 1 kere yorumlamışları veriyor bu SQL cahiline bi yardımcı olursanız sevinir bu cahel :D
     
  2. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    SH
    Kod:
    CREATE TABLE `sh` (
      `id` int(11) NOT NULL auto_increment,
      `okunma` int(11) default NULL,
      `tur` tinyint(1) default NULL,
      `oy` int(11) default NULL,
      `kimden` int(11) default NULL,
      `baslik` varchar(255) default NULL,
      `sh` text,
      `tarih` date default NULL,
      `saat` time default NULL,
      `durum` tinyint(1) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM
    
    YORUM
    Kod:
    CREATE TABLE `yorum` (
      `id` int(11) NOT NULL auto_increment,
      `kimden` int(11) NOT NULL default '0',
      `yorum` longtext NOT NULL,
      `tarih` datetime NOT NULL default '0000-00-00 00:00:00',
      `ustid` int(11) NOT NULL default '0',
      `durum` tinyint(1) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM
    
     
  3. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    Ehu kimse bi sert bi bakış yapamamış bu SQL'e
     
  4. mkarabulut

    mkarabulut Misafir

    Görünüşe göre aslında sorgu ORDER by eklenince de düzgün çalışıyor ama
    Kod:
    ORDER by yorum_c_ustid LIMIT 0,10 
    
    dediğin için default olarak DESC yani azalan sırada listeliyor ve ilk 10 tanesini listeliyor...

    Bu şu demek oluyor listeleme sırasında beklediklerin ilk 10 dışında kaldığı için sorgu sonucu alnmıyor.. (Sadece en büyük değerli ilk 10 tane listeleniyor)

    Yani sanırım LIMIT değerini kaldırıp listelemeyi öyle bi denersen daha net olarak görürsün sonuçları..

    Yine de sadece bir fikir emin değilim...

    Kolay gelsin.
     
  5. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    ehu walla ben vazgeçtim o işten üstad. Daha farklı bir şeyler deniyorum.

    neyse saol. :)