hasta adında birtablom var tablomda hastalar ve bu hastaların kefillerinin isim adres bilgileri mevcut bu hastaların kayıtları evr_id ile dosya tablosunda tutuluyor benim istediğim hasta tablosunu açtığımda dbgridde aynı evr_id ye sahip hasta veya kefillerden 1 tanesinin ismi gelsin bunun için forumda araştırdım ve distinct veya group by ile yapabileceğim fikrine kapıldım ve aşağıdaki sql kodunu girdim ancak ne yaptıysam başaramadım dbgridde yine tablodaki tüm kayıtlar listeleniyor. Nerede yanlış yapıyorum yardımcı olursanız sevinirim. Saygılarımla
Sorgularda, distinct ile yanına yazdığın tüm alanlar dikkate alınır. Yani o alanların hepsi aynı ise içinden birisi (ilk olanı) gelir. Group by'da ise alana göre gruplama yapıldığından bir grup EVR_ID içinden hangisinin bilgisi gelecek belirsizliği vardır. Kayıtlarda hepsi aynı olsa bile EVR_ID'ye göre gruplanmış sorguda diğer alanları direk alamazsınız. Bunun için bir adet where şartı yeter. Burada asıl önemli olan o tabloda otomatik artan bir alan olmasıdır. Hiç bir kayıtta bu alan değeri diğer kayıtla aynı olmamalıdır. Buna ben SIRANO diyerek örnek sorguyu veriyorum.
Yukaridaki query'yi calistirin, bu her EVR_ID alanina ait en dusuk SIRANO verilerini getirecektir, ornegin 1001, 1051, 1060. Daha sonra asil query asagidaki gibi calisiyor.