نمایش نتایج 1 تا 6 از 6

نام تاپیک: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

  1. #1
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

    با سلام
    پارسال یه برنامه نوشتم و یه جدولی(به نام :general) که طراحی کردم الان حاوی اطلاعات است. تقریبا 24000 رکورد (دیتابیس:sql server Enterprise)
    الان که می خوام برنامه رو یه تغییراتی بدم می بینم که این جدول حاوی رکوردهای تکراری است و اصلان نیازی نبوده که اینطوری طراحی کنم .
    این جدول حاوی id , کدملی و تاریخ مراجعه و ... می باشد. حالا میخوام برای هر کدملی فقط یه رکورد نگه دارم و بقیه موارد رو حذف کنم. (فقط idو تاریخ متفاوته).

    اگه بشه اولین مراجعه رو حفظ کنم و بقیه رو حذف کنم خوبه.(هر چند فرق زیادی نمیکنه)

  2. #2
    کاربر دائمی آواتار daffy_duck376
    تاریخ عضویت
    آبان 1385
    محل زندگی
    قزوین
    سن
    41
    پست
    858

    نقل قول: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است


  3. #3
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

    نقل قول نوشته شده توسط دلتنگ اسمان مشاهده تاپیک
    با سلام
    پارسال یه برنامه نوشتم و یه جدولی(به نام :general) که طراحی کردم الان حاوی اطلاعات است. تقریبا 24000 رکورد (دیتابیس:sql server Enterprise)
    الان که می خوام برنامه رو یه تغییراتی بدم می بینم که این جدول حاوی رکوردهای تکراری است و اصلان نیازی نبوده که اینطوری طراحی کنم .
    این جدول حاوی id , کدملی و تاریخ مراجعه و ... می باشد. حالا میخوام برای هر کدملی فقط یه رکورد نگه دارم و بقیه موارد رو حذف کنم. (فقط idو تاریخ متفاوته).

    اگه بشه اولین مراجعه رو حفظ کنم و بقیه رو حذف کنم خوبه.(هر چند فرق زیادی نمیکنه)
    سلام خدمت شما دوست عزیز وقتت بخیر ، با توجه به اینکه تعداد رکوردهای زیادی داری من بهت HAshTable رو پیشنهاد میکنم این متدی که برات نوشتم با استفاده از HashTable رکوردهای تکراری تون رو حذف میکنه

    public DataTable hazv_Record_tekrari(DataTable DT, string colName)
    {
    Hashtable hashTable = new Hashtable();
    ArrayList duplicateList = new ArrayList();
    foreach (DataRow drow in DT.Rows)
    {
    if (hashTable.Contains(drow[colName]))
    duplicateList.Add(drow);
    else
    hashTable.Add(drow[colName], string.Empty);
    }
    foreach (DataRow dRow in duplicateList)
    DT.Rows.Remove(dRow);
    return DT;
    }


    اگه باز درباره Hashtable ها متوجه نشدی یا کلا از این بخش برات سوالی پیش اومد بگو تا جواب بدم .
    امیدوارم پیرو و مموفق باشید
    از کدنویسی لذت ببرید

  4. #4
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    نقل قول: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

    نقل قول نوشته شده توسط daffy_duck376 مشاهده تاپیک
    ممنون دوست عزیز
    دقیقا همین سایتها رو نگاه کرده بودم و کدهای زیاد و گنگی داشت. که نمیتونستم انتخاب کنم. ولی بالاخره در یکی از گروهای تلگرام جواب داده شد:
    WITH cte
    AS (SELECT ROW_NUMBER() OVER (PARTITION BY CodeMelli
    ORDER BY ( TarikhMoraje)) RN
    FROM TableName)

    DELETE FROM cte
    WHERE RN > 1

  5. #5
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    نقل قول: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

    نقل قول نوشته شده توسط mrprestige مشاهده تاپیک
    سلام خدمت شما دوست عزیز وقتت بخیر ، با توجه به اینکه تعداد رکوردهای زیادی داری من بهت HAshTable رو پیشنهاد میکنم این متدی که برات نوشتم با استفاده از HashTable رکوردهای تکراری تون رو حذف میکنه

    public DataTable hazv_Record_tekrari(DataTable DT, string colName)
    {
    Hashtable hashTable = new Hashtable();
    ArrayList duplicateList = new ArrayList();
    foreach (DataRow drow in DT.Rows)
    {
    if (hashTable.Contains(drow[colName]))
    duplicateList.Add(drow);
    else
    hashTable.Add(drow[colName], string.Empty);
    }
    foreach (DataRow dRow in duplicateList)
    DT.Rows.Remove(dRow);
    return DT;
    }


    اگه باز درباره Hashtable ها متوجه نشدی یا کلا از این بخش برات سوالی پیش اومد بگو تا جواب بدم .
    امیدوارم پیرو و مموفق باشید
    از کدنویسی لذت ببرید

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

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    اصفهان
    پست
    93

    نقل قول: حذف تمامی رکوردهای تکراری که فقط id و تاریخ آنها متفاوت است

    سلام دوست عزیز، از اول می گفتین میخوام یا اسکریپت های اسکیوئل این کار رو بکنم که دوستان به خطا نیفتند و یا بهتر این بود که این موضوع رو تو بخش SQL Server مطرح می کردین.
    به قول دوست خوبمون آقای مهندس آشتیانی :قوانین انجمن رو رعایت کنید".
    مورید باشید

تاپیک های مشابه

  1. حذف نشدن رکوردهای تکراری!!!!!
    نوشته شده توسط bad_lucky در بخش T-SQL
    پاسخ: 1
    آخرین پست: یک شنبه 27 بهمن 1392, 16:13 عصر
  2. حذف رکورد از جدولی که کلیدش در جدول دیگری هم کلید است
    نوشته شده توسط farzaneh_bala در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: شنبه 05 بهمن 1392, 19:47 عصر
  3. سوال: حذف کلی رکوردهای تکراری در جدول اکسس
    نوشته شده توسط ahmad1010 در بخش Access
    پاسخ: 6
    آخرین پست: سه شنبه 17 آبان 1390, 11:16 صبح
  4. حذف تمامی رکوردهای بانک SQL
    نوشته شده توسط ferankyy در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 3
    آخرین پست: شنبه 14 شهریور 1388, 14:05 عصر
  5. پاسخ: 1
    آخرین پست: شنبه 11 آبان 1387, 11:41 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •