PDA

Tam Sürümünü Görmek İçin : SQL de takılınca ???


LoS.ToF
14/12/2002, 09:09
Bu SQL beni delirticek.


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 amaORDER 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


LoS.ToF
14/12/2002, 09:48
SH

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

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

LoS.ToF
16/12/2002, 08:05
Ehu kimse bi sert bi bakış yapamamış bu SQL'e

mkarabulut
17/12/2002, 08:33
Görünüşe göre aslında sorgu ORDER by eklenince de düzgün çalışıyor ama

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.

LoS.ToF
17/12/2002, 12:54
ehu walla ben vazgeçtim o işten üstad. Daha farklı bir şeyler deniyorum.

neyse saol. :)