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...
sql group by ile tüm satırı çekmek
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Kod: Tümünü seç
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.
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...
İç 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
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: sql group by ile tüm satırı çekmek
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.egitim yazdı: Ş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...
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.