PDA

View Full Version : حذف با دستورات sql



ali458
دوشنبه 25 اردیبهشت 1385, 20:39 عصر
سلام
یک بانک اطلاعاتی داریم که در این بانک اطلاعات دانشجو ثبت می شود . حالا طوری شده که اطلاعات چند دانشجو تکراری وارد شده یعنی برای یک دانشجو که شماره دانشجویی را وارد می کنیم در لیست 2 تا مشخصات می آورد که عین هم هستند . یعنی کلید اصلی نداریم و بانک اطلاعات تکراری هم قبول می کنه . حالا ما میخواهیم که اگه اطلاعات یک دانشجو 2 بار ثبت شده اطلاعات تکراری را حذف کنیم یعنی فقط در بانک یک بار اطلاعات داشته باشد . با استفادخ از دستورات SQL
یعنی حذف اطلاعات تکراری از بانک.
با تشکر

ali_kolahdoozan
دوشنبه 25 اردیبهشت 1385, 21:42 عصر
شما فکر نمی کنی این کار یه کم عجیب غریب است . والا اون وقتها که ما دانشگاه می رفتیم هر دانشجو یه شماره دانشجویی داشت که حد اقل توی اون دانشگاه منحصر به فرد بود . حالا اگه به یمن اوضاع این هم عوض شده باشه و شما به مشگل برخورده باشید رو نمی دونم . اما حالا فرض می کنیم همه چیز مثل همون زمان دانشگاه ما باشه . شما درون یک تکست باکس شماره دانشجویی رو بپرسید اگه نیود اجازه اضافه کردن شخص و ذخیره یک رکورد جدید رو بهش بدید و اگه بود امکان ویرایش بش بدید . مگر نه با روش شما که می خواهید انجام دهید که همه رکوردها درب و داغون می شن

AminSobati
دوشنبه 25 اردیبهشت 1385, 21:46 عصر
دوست عزیزم؛
این برمیگرده به تعریف شما از دانشجوی تکراری. مهم اینه که مشخص بشه کدوم فیلدها اگر تکراری بودند، یعنی این رکورد تکراریه.

Omid Rekabsaz
سه شنبه 26 اردیبهشت 1385, 16:40 عصر
آیا تمام ویژگی های رکوردهای تکراری یکسان است؟! یعنی اینکه تمام فیلدهای این رکوردها دارای مقادیر یکسان است؟! در این صورت می توان این کار را انجام داد...

ali458
چهارشنبه 27 اردیبهشت 1385, 21:58 عصر
ببینید منظورم اینه که به طور مت مثلا اطلاعات پنج دانشجو را وارد کردیم و بعدا به طور اشتباهی دوباره اطلاعات همان پنج دانشجو را وارد کردیم حالا فهمیدیم که این پنج تا اطلاعاتشون دو بار وارد شده و و حالا می خواهیم که تکرایها را حذف کنیم یعنی برای هر کدام فقط یکی از اطلاعاتشون باقی بمونه.
مثلا من وارد کردم
نام : شاهرخ
فامیل : امجی
شماره دانشجو : 5697844
بعد از پنج دقیقه اشتباها این مشخصات را دوباره ثبت کردم توی بانک . حالا چطوری این تکراریرو حذف کنم ؟
البته این مشکل ÷یش اومده و نمیشه که بانک را از اول طراحی کنیم تا کلید اصلی ایجاد کنیم!!!

reza_rad
پنج شنبه 28 اردیبهشت 1385, 08:03 صبح
http://www.barnamenevis.org/forum/showthread.php?t=30610&highlight=%CD%D0%DD+%CA%98%D1%C7%D1%26%231740%3B
http://www.barnamenevis.org/forum/showthread.php?t=34745&highlight=%CD%D0%DD+%CA%98%D1%C7%D1%26%231740%3B

hpx
یک شنبه 31 اردیبهشت 1385, 04:34 صبح
http://www.barnamenevis.org/forum/showthread.php?t=38763
حداقل کاری که می تونی بکنی unique کردن شماره دانشجویی
که من بعد از این اتفاقای جلب نیفته

ali_t264
دوشنبه 01 خرداد 1385, 06:19 صبح
ببین دوست من تو باید چند تا کار انجام بدی
1- مثلاً شماره دانشجویی(stid( را در نظر می گیریم و این کد را در sql می نویسیم:
select stid,count(stid) from table1 group by stid having count(stid)>1
با این کار اون شماره دانشجویی هایی که دو بار وارد شده پیدا می شه
2- این شماره دانشجویی ها را باید به صورت دستی حذف کنی