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

نام تاپیک: نمایش یک دو فیلد لینک شده از یک جدول

  1. #1

    Cool نمایش یک دو فیلد لینک شده از یک جدول

    سلام

    من توی بانکم یه جدول دارم که دوتا فیلد اون از یک جدول دیگه پر میشه مثلا من اسامی اشخاصی که با اونها کار دارم رو توی یه جدول ذخیره کردم که قراره کد هر فرد بیاد توی این جدول مد نظرم وارد بشه مثلا یه مرسوله پستی دارم که فرستنده و گیرنده داره، حالا من بجای اینکه اسم توی جدولم ذخیره کنم میام کد این افراد رو توی فیلد های گیرنده و فرستنده وارد می کنم.

    مشکلم اینجاست که میخوام وقتی جستجو انجام بدم بجای کد اسم افراد رو توی DBGrid نمایش بده من از کد زیر استفاده می کنم:

    SELECT Serial, Asami.Title AS Ferestande, Asami.Title AS Girande, Address
    FROM Marsolat INNER JOIN Asami ON Marsolat.Fereastande = Asami.Code AND Marsolat.Girande = Asami.Code


    اما هیچی پیدا نمیکنه! اگه کد بالا رو به صورت زیر تغییر بدم:

    SELECT Serial, Asami.Title AS Ferestande, Asami.Title AS Girande, Address
    FROM Marsolat INNER JOIN Asami ON Marsolat.Fereastande = Asami.Code OR Marsolat.Girande = Asami.Code


    اگه یه رکورد توی جدولم ذخیره شده باشه توی DBGrid دو مرتبه نمایش داده میشه با این تفاوت که اسم گیرنده و فرستنده رکورد اول مشابه هم و اسم گیرنده و فرستنده رکورد دوم نمایش داده شده مشابه هم است. برای رفع این مشکل چیکار باید بکنم؟

    ممنونم، موفق و موید باشید

  2. #2
    کاربر دائمی آواتار shervin farzin
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مشهد - shervinfarzin@gmail.com
    پست
    256

    نقل قول: نمایش یک دو فیلد لینک شده از یک جدول

    سلام
    جسارتا ، منطق هر دو كدي كه نوشتيد اشتباهه و كمكي به نمايش خروجي مورد نظرتون نميكنه.
    از اين كد استفاده كنيد :
    SELECT Serial,Asami_1.Title AS 'Ferestande', Asami_2.Title AS 'Girande', Address
    FROM Marsolat INNER JOIN Asami AS Asami_1 ON Marsolat.Fereastande = Asami_1.Code
    INNER JOIN Asami AS Asami_2 ON Marsolat.Girande = Asami_2.Code

    موفق باشيد .

برچسب های این تاپیک

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

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