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

نام تاپیک: ادغام دو جدول

  1. #1

    ادغام دو جدول

    سلام.وقت بخیر استاید محترم .اقا من دو تا جدول دارم با فیلدهای مثل هم.میخوام این دوتا جدول باهم ادغام بشه و این دوتا شرط را داشته باشه و داخل دیتا اداپتور بشینه. عکس الصاق شده برای یک جدول هست.همین کویری فقط از دو جدول گرفته بشه.ممنون Untitled.png

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,685

    نقل قول: ادغام دو جدول

    سلام و روز خوش میتونین SELECTها رو با هم UNION کنین. و البته این که این روش کوئری نوشتن خوب نیست! همه مقادیر رو باید به عنوان پارامتر پاس کنین.

  3. #3

    نقل قول: ادغام دو جدول

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز خوش میتونین SELECTها رو با هم UNION کنین. و البته این که این روش کوئری نوشتن خوب نیست! همه مقادیر رو باید به عنوان پارامتر پاس کنین.
    سلام.سپاس
    از یک روش دیگه میشه انجام داد.من دو تا دیتا اداپتور تعریف کردم و کوئری هر یک از جدولاها رو به دیتا اداپتور دادم و داخل دیتا تیبل ریختم.نکته اینکه وقتی اطلاعات دیتا اداپتور اول را داخل دیتا تیبل ریختین بعد اطلاعات دیتا اداپتور دوم را میریزید اطلاعات اول پاک نمیشه.یعنی به دیتا تیبل اضافه میشه و مشکل من حل شد

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,685

    نقل قول: ادغام دو جدول

    نقل قول نوشته شده توسط mehdizaboli مشاهده تاپیک
    سلام.سپاس
    از یک روش دیگه میشه انجام داد.من دو تا دیتا اداپتور تعریف کردم و کوئری هر یک از جدولاها رو به دیتا اداپتور دادم و داخل دیتا تیبل ریختم.نکته اینکه وقتی اطلاعات دیتا اداپتور اول را داخل دیتا تیبل ریختین بعد اطلاعات دیتا اداپتور دوم را میریزید اطلاعات اول پاک نمیشه.یعنی به دیتا تیبل اضافه میشه و مشکل من حل شد
    سلام دوباره

    خب شما در بخش SQL پرسش رو مطرح کردین
    و این یعنی پاسخ هم باید متناسب با همین باشه.

    برای روشنتر شدن موضوع:
    کار با دیتا میتونه در سطح دیتابیس باشه (همه کارهایی که با کدهای TSQL روی table ها انجام میدین)
    یا در سطح اپلیکیشن (کدهایی که در سی شارپ (یا هر زبان دیگه و در هر محیطی) برای کار روی datatable ها و list ها و ... مینویسین).

    وقتی صحبت از ترکیب نتایج در سطح دیتابیس میشه، این ترکیب میتونه در سطح رکورد باشه (UNION, EXCEPT, INTERSECT, DISTINCT معروف به Set Operations) - مثل همین پرسش
    یا در سطح فیلد باشه (انواع JOIN)
    یا ترکیب اینها باشه (مثل CROSS JOIN)
    یا کارهای پیچیده تر (مثل APPLY)
    و ...

    اینها که گفته شد همگی در لایه دیتابیس (MS SQL ، MySQL ، ...) مستقیما قابل انجامه
    ولی در لایه برنامه باید از LINQ استفاده کنین
    و پیاده سازی بعضی از اینها به نسبت پیچیده تر هست.

    هر کدوم اینها مزایا و معایب خودش رو داره
    و این که کدوم روش پیاده بشه بستگی به شرایط داره،
    ولی قانون کلی اینه اگر تعداد رکوردها و اندازه دیتا کم هست و همزمانی هم نیست (یک کاربره)
    خب اینها دیگه چندان تفاوتی ایجاد نمیکنه - البته پارامترها فقط همین ها هم نیست،
    ولی اگر این شرایط نباشه حتما باید در لایه دیتابیس انجام بشه،
    یا این که بخش فیلتر و join و aggregate در لایه دیتابیس انجام بشه ولی پردازش نهایی و شکل دادن دیتا در اپلیکیشن.

    ========

    حالا با این مقدمات برمیگردیم به پرسش:
    این روشی که برای append دیتا به دیتاتیبل استفاده شده یک حالت خیلی خاص از ساده ترین وضعیت هست و برای همین ایرادش مشخص نمیشه،
    اگر رکورد تکراری در این 2 (یا چند) جدول باشه دیگه تشخیص و کنار گذاشتنش بدون کدنویسی اضافه شدنی نیست.

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

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