| egitim | 02.08.2005 - 16:39:17 |
| Merhabalar,
Arkadaşlar formu baya inceledim, örnekler var ama uygulamada hala çözemedim... Veri tababı şu şekilde id--------->primary key adi-------->tekrarlanan alan tutari------->tekrarlanan alan tarih-------->tekrarlana alan Şimdi benim amacım bu tablodan tam satır bilgisini çekmek, ama bunu yaparken aynı adi taşıyan satırlarda en büyük tarihli kaydı sorguda döndürmek... Eğer bunu select adi, max(tarih) from tablo group by adi yapınca çalışıyor .... Ama bu sorgudan sadece iki kolana ait bilgiler geliyor, ben tüm satırı isityorum. select id, adi, max(tarih), tutar from tablo group by adi gibi.... formlarda incelediğim group by'ın sonuna diğer alanları eklersem sonuç geliyor ama fazla kayılarla berber, ben sadece bir adı bilgisine sahip en yüksek tarih 'li kayitlarin olduğu satırları istiyorum... ilginize teşekkürler... | |
| sadettinpolat | 02.08.2005 - 16:48:13 |
select * from tablo t1
where tarih = (select max(tarih) from tablo t2 where t1.adi = t2.adi) tarzında bir kod işinizi gormesi lazım. | |
| egitim | 02.08.2005 - 17:03:56 |
| Evet,
İç içe select ile istediğim sonuca tam olarak ulaşdım... Bu sorgu tam olarak işimi görüyor, Teşekkürler... Peki bilgi olarak bu group by olayı ile yapmak mümkünmüdür... sum olayı ile rahat kullanabildim ancak max fonksiyonu ile satır almayı yukarda sizin yazdığınız satırları almayı başaramadım, aslında group by ın formlarda kullanımlarına baktığımda group by 'dan sonra 2 veya daha fazla alan adı kullanılabiliyor, ama veri tekrarı var... | |
| sadettinpolat | 03.08.2005 - 12:51:12 |
Şimdi benim amacım bu tablodan tam satır bilgisini çekmek, ama bunu yaparken aynı adi taşıyan satırlarda en büyük tarihli kaydı sorguda döndürmek... yapmak istediğiniz işlemde her hangi bir gruplama olayı yok bu yüzden group by kullanmak veya kullanarak yapmaya çalışmak gereksiz bir çaba gibi geliyor bana. yapılabilir mi sorusuna gelirsek istenilen satırları alabilmek için bir kere group by ifadesine istediğimiz alanların tümünü yazmamız gerekecek bu da istemediğimiz kayıtlarında sonuç listesine yansımasına neden olacak. bu listede yer alan istemediğimiz kayıtlardan da having ifadesini kullanarak kurtulabiliriz. | |