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

نام تاپیک: ضرب دکارتی دو فیلد از دو جدول

  1. #1

    ضرب دکارتی دو فیلد از دو جدول

    سلام
    اگر بخواهیم دو فیلد از دو جدول مختلف را با هم ضرب دکارتی کنیم ، چه دستوری باید بنویسیم. البته با cross join امتحان کردم ولی نشد.

  2. #2

    نقل قول: ضرب دکارتی دو فیلد از دو جدول

    چرا نشد
    اگر امكان داره با مثال توضيح بديد تا بهتر بشه راهنمايي كرد

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    تهران
    سن
    60
    پست
    293

    نقل قول: ضرب دکارتی دو فیلد از دو جدول

    در منطق SQL، شما دو ستون (یا فیلد، به قول جنابعابی) را با هم ضرب نمی کنید. ضرب دکارتی عملی است که شما می توانید روی دو مجموعه انجام دهید تا یک مجموعه سومی را به دست بیاورید. یک ستون از یک جدول در SQL خودش مجموعه به حساب نمی آید. بلکه یک صفت (attribute) یک مجمموعه به شمار می رود.

    پس اگر من درست متوجه مقصود شما شده باشم، شما می توانید از این دو راه احتمالا به خواسته خود برسید:

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


    select
    a.ColumnA,
    b.ColumnB
    from
    MyFirstTable a
    cross join
    MySecondTable b;


    روش دیگر این است که اول دو مجموعه درست کنید که فقط سطرهایشان فقط حاوی ستون مورد نظر از هر جدول هستند، و بعد آن دو مجموعه را با هم ضرب کنید:


    select
    *
    from
    (select ColumnA from MyFirstTable) a
    cross join
    (select ColumnB from MySecondTable) b;


    نتیجه در هر دو مورد باید دقیقا یکی باشد.

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    61

    نقل قول: ضرب دکارتی دو فیلد از دو جدول

    برای ضرب دکارتی نیازی به cross join هم نیست. می تونین به صورت زیر استفاده کنید:
    select a.col1, b.col1
    from table1 a, table2 b

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

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