PDA

View Full Version : کمک درباره نوشتن یک کوئری



rexi1r
جمعه 13 مرداد 1391, 02:21 صبح
سلام دوستان میخوام از یه جدول اول کل رکورد هایی که بیش از دوبار با شماره شناسایی براشون رکورد ثبت شده رو بیارم.(مثلا سه تا شماره شناسایی داریم 1006 و 1007 و 1008برای 1007 فقط 1 رکورد ذخیره شده ولی برای 1006، 5 رکورد و برای 1008 هم 3 رکورد پس فقط کل رکوردای 1006 و 1008 بیاد چون بیشتر از دو رکورد دارن) حالا از این رکوردها که انتخاب شدن(یعنی 8 رکورد انتخاب شده) ،اونایی نمایش داده بشن که فیلد رمزشون یکسان باشه.ممنون میشم کمک کنید هرچی سرچ کردم و تلاش کردم نتونستم انجام بدم.(هیچ پارامتر ورودی هم نداره)

Mahmoud.Afrad
جمعه 13 مرداد 1391, 08:15 صبح
select * from [table_name]
where [password] in (
select [password] from
( select [password] , COUNT(ID) as [tedad]
from [table_name] group by [password]
) as [temp]
where temp.tedad > 1
)
[table_name] نام جدول
[password] نام ستون مربوط به پسورد
ID نام ستون شماره شناسایی

داخلی ترین پرانتز پسورد و تعداد تکرار شماره شناسایی ها را سلکت میکند.
پرانتز بیرونی از پرانتز داخلی آنهایی را که تعداد بزرگتر از 1 است را میگیرد.
خارجی ترین سلکت هم کل اطلاعات را برای پسوردهایی که در پرانتز هستند را بدست می آورد.

Reza_Yarahmadi
جمعه 13 مرداد 1391, 10:58 صبح
کد دوستمون رو میشه بصورت زیر بهینه تر کرد
Select * From TableName
Where Password in (
Select Password From TableName
Group By Password
Having Count(*) > 1
)