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

نام تاپیک: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

  1. #1

    Question ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    سلام من دو تا جدول دارم که در جدول staff کلید اصلی staffcode است و در جدول دیگه staffcode کلید خارجی , editstaffcode
    در واقع من می خوام وقتی چیزی ثبت می شه staffcode پر بشه و وقتی ویرایش می شه editstaffcodeپر بشه و موقع نمایش نام و فامیلی رو نشون بده و از اون جایی که editestaffcode همون staffcode نمی تونم همزمان نام و فامیلی هر دو رو نشون بدم میشه راهنمایی کنید؟


  2. #2
    کاربر دائمی آواتار Galawij
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شاره که م سنه
    پست
    711

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    سلام،
    راستش عنوان تاپیک را متوجه شدم ولی توضیحاتتون را نه!
    این لینک را ببینید، امیدوارم مفید واقع بشه.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    پست
    93

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    وقتي داري join مي زني بايد 2 بار با جدول staff جوين بزني

    select s1.staffCode ,s2.staffCode as EditStaffCode
    from tbl inner join staff s1 on tbl.staffCode=s1.staffCode
    inner join staff s2 on tbl.editStaff=s2.staffCode

  4. #4

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    ببخشید ولی من این کار رو قبلا امتحان کردم ولی جواب نمی ده در واقع سطرهایی از جدول رو که editstaffcode خالی دارن رو برنمی گردونه ببینید من تو برنامه چند تا فرم دارم که قراره اطلاعات توشون ثبت و ویرایش بشه و هر اطلاعاتی که ثبت می شه کد پرسنلی که ثبت کرده هم ثبت می شه و هر اطلاعاتی که ویرایش می شه باید کد پرسنلی که ویرایش کرده هم ثبت شه و حالا ممکنه یه جایی اطلاعات ویرایش نشه اون وقت هیچ کد ویرایش کننده ای ندارم و وقتی می خوام گزارش بگیرم باید نام پرسنل رو نشون بدم می گم که خالی بر می گردونه اینم کدش


    SELECT dbo.acquaintance.acquaintancecode, dbo.acquaintance.acquaintancetype, dbo.staff.staffname + ' ' + dbo.staff.stafffamily AS insertnameandfamily,
    staff_1.staffname + ' ' + staff_1.stafffamily AS editnameandfamily
    FROM dbo.acquaintance INNER JOIN
    dbo.staff ON dbo.acquaintance.staffcode = dbo.staff.staffcode INNER JOIN
    dbo.staff AS staff_1 ON dbo.acquaintance.editstaffcode = staff_1.staffcode

  5. #5

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    سلام.
    فکر کنم اگه از انواع دیگه ی join مثل leftjoin استفاده کنید مشکلتون حل میشه.

  6. #6

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    ممنون از راهنمایی های همه ولی من وقتی از leftjoin هم استفاده کنم اگر در جدولم کلا ویرایش انجام نگردد کلا نتیجه گزارش تهی است و ثبت نامی ها را هم نشان نمی دهد .

  7. #7

    نقل قول: ایا می توان از کلید اصلی یک جدول در جدول دیگر دو بار استفاده کرد؟

    سلام

    یکی از روش هایی که می تونید ویرایش اطلاعات رو نگهداری کنید اینه ... توی جدول اصلی فقط یک فیلد بیت دارید که نشون می ده این رکورد ویرایش شده ... و یک جدول دیگه دارید که همین فیلدهای این جدول رو داره به اضافه ویرایش کننده و تاریخ ویرایش در اصطلاح شما ورژن های رکورد رو اینجا نگه می دارید ... وقتی بیت 1 شد اونوقت table رو Join می کنید با جدول ورژن ها ... اینطوری اگر چند بار هم اطلاعات ثبت بشه شما سابقه رکورد رو نگه داشتید ...

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

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