Forum
Merhaba
Bir tablom var . Tablomda ad, Soyad, kimlik no gibi birkaç kolon daha var .
select kimlik _no, count(kimlik _no) AS KayitSayisi from TABLOM group by kimlik _no having count(kimlik _no)>1 şeklinde bir sorgum var .
Yanlışlıkla veya başka bir sebeple aynı kişi için birden fazla girilen kayıtlar var. Bu sorguyla kendisi için birden fazla kayıt girilen kişileri listelemek istiyorum . Sorunum, bu sorguyla sadece kimlik no getirebiliyorum . Aynı sorguda kişinin ad ve soyadını da getirmek istediğimde group by kullanımından dolayı hata alıyorum. Sorgumu nasıl değiştirebilirim?
Merhaba,
Select e ekleyeceğin alanları , groupby a da ekler isen hata almazsın.
Aşağıdaki gibi sorgulatabilirsin.
select kimlik _no,ad, soyad, count(*) AS KayitSayisi from TABLOM group by kimlik _no ,
ad,
soyad
having count(*)>1
Bu şekilde denedim ama böyle yazınca doğru sonuç vermiyor
Merhaba ,
Sample data oluşturup test ettiğimde bana dogru sonuç gelmişti. Datanız bozuk olabilir. Aynı tc no ile farklı isim ve soy isme sahip kayıtlar gibi.
Böyle bir durumu kontrol etmek için aşağıdaki gibi subquery ile kontrol edebilirsin.
select distict kimlik_no , ad , soyad
from TABLOM
where kimlik_no in
(
select kimlik_no from TABLOM group by kimlik_no
having count(kimlik_no)>1
)
Merhaba ,
Sample data oluşturup test ettiğimde bana dogru sonuç gelmişti. Datanız bozuk olabilir. Aynı tc no ile farklı isim ve soy isme sahip kayıtlar gibi.
Böyle bir durumu kontrol etmek için aşağıdaki gibi subquery ile kontrol edebilirsin.
select distict kimlik_no , ad , soyad
from TABLOM
where kimlik_no in
(
select kimlik_no from TABLOM group by kimlik_no
having count(kimlik_no)>1
)
Uzun süredir giremiyordum . Subquery kullanmadım daha önce ama teşekkür ederim .