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

نام تاپیک: کمک در زمینه نوشتن یک دستور sql

  1. #1
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    کمک در زمینه نوشتن یک دستور sql

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

    من دو جدول دارم یکی از آنها به نامCOUNTRIESاست و دومی به نام Request .

    حالا در جدول request دو فیلد دارم که به FK از جدول COUNTRIES است که یکی به عنوان کشور مبدا و دومی به عنوان کشور مقصد است(البته کد کشور ها رو نگه داری می کند) حالا می خوام یک Query بنویسم که بجای اینکه کد کشور مبدا و مقصد رو نشون بده نام اونها رو از جدول COUNTRIES بخونه و به جای کد نشون بده من اگه یک فیلد بود می تونستم بنویسم ولی حالا که دوفیلد مثل هم هستند به مشکل برخوردم ممنون میشم راهنمایی کنید

  2. #2

    نقل قول: کمک در زمینه نوشتن یک دستور sql

    سلام،
    فقط نام ستون هاتون رو در کوئری قرار بدین

    SELECT R.*, C1.countryName, C2.countryNam
    FROM Request AS R
    INNER JOIN
    COUNTRIES AS C1
    ON R.start = C1.countryPK
    INNER JOIN
    COUNTRIES AS C2
    ON R.[end] = C2.countryPK;

  3. #3
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: کمک در زمینه نوشتن یک دستور sql

    نقل قول نوشته شده توسط msalim مشاهده تاپیک
    سلام،
    فقط نام ستون هاتون رو در کوئری قرار بدین

    SELECT R.*, C1.countryName, C2.countryNam
    FROM Request AS R
    INNER JOIN
    COUNTRIES AS C1
    ON R.start = C1.countryPK
    INNER JOIN
    COUNTRIES AS C2
    ON R.[end] = C2.countryPK;
    دوست عزیز ممنون
    اما میشه در مورد این کد های که نوشتید توضیح بدید
    چون نمی خوام فقط Copy و Paste کنم
    ممنون

  4. #4

    نقل قول: کمک در زمینه نوشتن یک دستور sql

    خیلی ساده است،
    شما دو کلید خارجی در جدول Request دارین که به یک جدول یکسان ارجاع داده شده است. حالا همانطوری که گفتین نمیشه با تنها یک اتصال داده ها را برای هر دو ستون بدست بیاریم. در این مورد ناچاریم جدول Request را دوبار با یک جدول JOIN کنیم و در شرط اتصال یک بار با کشور مقصد اتصال دهیم و یک با برای شهر مبدا. و برای اینکه نام دو جدول یکسان تداخلی ایجاد نکنن از نام مستعار C1 و C2 استفاده شده است.

    البته دو روش دیگر به غیر از Multiple Join (اتصال چنتایی) وجود داره که بهترین روش همین بود که نوشتم.

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

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