Forum

SQL Query Sorusu
 
Bildirimler
Hepsini Temizle

SQL Query Sorusu

6 Yazılar
4 Üyeler
0 Likes
403 Görüntüleme
(@VolkanOzdemir)
Gönderiler: 24
Eminent Member
Konu başlatıcı
 

Merhaba,


SQL ile aram iyidir fakat geçenlerde bir sorgu yazmam gerektiğinde nasıl yazabileceğimi çözemediğim bir sorgu ile karşılaştım. Aşağıdaki tabloda bulunan field1 sütununu guruplayıp her bir sayıdan kaç tane olduğunu saydırmak istiyorum ve sonra içlerinden birer tane olanların ID lerini alabilmem gerekiyor. Ben aşağıdaki gibi bir sorgu yazdığımda birer tane olanları görebiliyorum fakat select kısmına ID sütununu eklediğimde gruplandırma bozulduğu için birer tane olanların ID lerini alamıyorum. Örneğin aşağıdaki tabloya göre Field1 sütunundaki 2 ve 7 değerleri birer tane olduğu için sorgu çalıştığında onların ID leri olan 5 ve 6 yı alabilmeliyim. Tecrübeli arkadaşların önerilerini bekliyorum. Teşekkürler...


Select Count(*) from anytable group by Field1 having Count(*) =1


ID      Field1


1        5


2        3


3        5


4        3


5        2


6        7

 
Gönderildi : 25/08/2011 18:13

(@ugurinal)
Gönderiler: 145
Estimable Member
 

Şu an önümde Oracle açık olmadığından sadece varsayımla hareket ederek aşağıdakini denermisin?

 Select id,field1 from anytable

where id exists (Select Count(*) from anytable group by Field1 having Count(*) =1)

 
Gönderildi : 25/08/2011 18:55

(@VolkanOzdemir)
Gönderiler: 24
Eminent Member
Konu başlatıcı
 

Bir kaç deneme yaptım ama malesef olmadı.

 
Gönderildi : 25/08/2011 20:31

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

Merhabalar,

yukarıdaki sorgu, id alanının varlığını adet de aradığından istenilen sonucu vermeyecektir.

Aşağıdaki sorgu ile adetleri 1 olan field1 lerin id lerini listeleyebilirsiniz .

Select anytable.id, anytable.field1 From
(Select field1, count(*) from anytable GROUP BY field1 having Count(*) =1)  gruplu
inner join anytable on gruplu.field1=anytable.field1

 
Gönderildi : 26/08/2011 00:49

(@VolkanOzdemir)
Gönderiler: 24
Eminent Member
Konu başlatıcı
 

Çok teşekkür ederim şimdi oldu.

 
Gönderildi : 26/08/2011 13:57

(@AyhanTopaloglu)
Gönderiler: 4
Active Member
 

Bende  aynı sql i kullanarak sorunumu çözdüm .. Çok teşekkür ederim 

 
Gönderildi : 22/09/2011 15:15

Paylaş: