PDA

View Full Version : سوال: Query از اطلاعات تکراری



pishraft
سه شنبه 11 آبان 1389, 08:47 صبح
سلام دوستان
من می خوام یه Query بنویسم که اطلاعات تکراری یکی از فیلد هام رو نشون بده
فیلد Description
مثلا ممکنه 1آدرس 2-3 بار تکرار شده باشه
من میخوام جاهایی که تکراری هستند رو ببینم
اطلاعات زیادی هم ثبت شده شاید حدود 100000
ممنون میشم راهنمایی کنید.

Reza_Yarahmadi
سه شنبه 11 آبان 1389, 09:04 صبح
براي اين كار بهتره از group by استفاده كنيد

Select Description From TableName Group By Description having Count(*) > 1

pishraft
سه شنبه 11 آبان 1389, 09:31 صبح
ممنون
ولی این Error رو میده:



Msg 8120, Level 16, State 1, Line 3
Column 'Personal.Description' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

pishraft
سه شنبه 11 آبان 1389, 10:02 صبح
من میخوام دوتا ستون رو ببینم
وقتی این رو می زنم



SELECT PID , Description

FROM Personal
Group By Description , PID
having Count(*) > 1


هیچی نشون نمیده
و زمانی که این رو می زنم



SELECT PID , Description

FROM Personal
Group By Description
having Count(*) > 1


Error بالا رو می ده

Reza_Yarahmadi
سه شنبه 11 آبان 1389, 10:07 صبح
توي دستوري كه نوشتيد فيلد Description جز فيلدهاي خروجي گذاشتيد ولي جز فيلدهاي گروه بندي (group by) نيست.
لطفا دستوري كه نوشتيد به اضافه خروجي مورد نظرتون رو اينجا بذاريد تا بهتر بشه كمكتون كرد.

Reza_Yarahmadi
سه شنبه 11 آبان 1389, 10:13 صبح
كوئري اول به اين خاطر خالي برميگرده كه دسته بندي رو بر اساس 2 فيلدي نوشتيد كه هيچ كجا 2 مورد عين هم ندارند.
كوئري دوم هم به همون دليلي كه بالا گفتم خطا ميده.
فكر كنم منظورتون چيزي شبيه كد زير باشه

with des as(
Select
Description
From
Personal
Group By
Description
having
Count(*) > 1
)
Select
p.PID,
p.Description
FROM
Personal p inner join des d
on
p.Description = d.Description