PDA

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



ramin149
سه شنبه 12 دی 1391, 10:00 صبح
با سلام .
من یک دستور select دارم به صورت زیر

SELECT IdProducts, IdAccessList
FROM tbl_ProductsList
WHERE (IdAccessList IN (74, 75))
ORDER BY IdProducts DESC

و رکوردها به این صورت بر می گرداند


71
71
70
69
68
67
66
65
56
56
55
55
50
50
49

حالا رکوردهایی را می خوام که دوباره تکرار شده باشند و خروجی به صورت زیر بهم بده


71
56
55
50

لطفا کمک کنید و بگید که در کد بالا باید چه تغییراتی انجام دهم .

محمد سلیم آبادی
سه شنبه 12 دی 1391, 11:47 صبح
بالاخره 2 بار تکرار شدن یا دوباره تکرار شدن؟
دوبار:

SELECT ... WHERE ... GROUP BY IdProducts HAVING COUNT(*) = 2

دوباره:

SELECT ... WHERE ... GROUP BY IdProducts HAVING COUNT(*) > 1

محمد سلیم آبادی
چهارشنبه 13 دی 1391, 11:33 صبح
الان که دیدم پستاتون رو حذف کردین احتمال دادم که پستم نتوسنته مشکلتون رو حل کنه. در نتیجه یه بار دیگه مسالتون رو بازنگری کردم.
آخه چرا وقتی کوئرتون دو ستون (IdProducts, IdAccessList) رو برمیگردونه در مثالتون (رکورد های برگشتی) یک ستون (IdProducts) وجود داره؟! من با توجه به داده هایی که مثال زدین راه حل ارائه دادم اصلا به اینکه شما دو ستون رو لیست کردین در جلوی SELECT توجه نکرده بودم.
ضروری هست که مقادیر ستون دوم در کنار ستون اول، هم در خروجی بر اساس کوئری خودتون و هم در خروجی مطلوب قرار بگیره تا بفهمیم دقیقا چی مد نظرتون هست. تا طبق اون راهنمایی صورت بگیره.
موفق باشین.

ramin149
پنج شنبه 14 دی 1391, 00:38 صبح
ذوست عزیز جواب شما مشکل من را حل گرد . بسیار ممنونم از بابت پیگیری شما . پست هایی را که گذاشتم یکسری مشکلات جزیی بود و بعد از مطالعه دقیقتر جواب شما مشکلم حل شد . با تشکر