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

نام تاپیک: چگونگی پر کردن یک فیلد جدول با دستورات SQL

  1. #1
    کاربر تازه وارد آواتار samandari
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    ایران
    پست
    65

    چگونگی پر کردن یک فیلد جدول با دستورات SQL

    سلام دوستان
    من میخواهم با استفاده از دستورات SQL مقادیر یک فیلد جدول را بر اساس مقادیر یک جدول دیگه پر کنم به مثال زیر توجه کنید

    جدول 1
    کد------نام---------------- نام خانوادگی-------------------------- کد نام پدر
    1-------علی-------------------سمندری---------------------------------0
    2 ------رضا -------------------حسینی--------------------------------- 0
    3 ------فرهاد-------------------سمندری ---------------------------- 1
    4------ حمید-------------------سمندری ----------------------------- 1
    5 ------فرشید-------------------حسینی --------------------------- 2

    مفهوم جدول این است که علی سمندری و رضا حسینی پدر یا (Parent) ندارند و پدر فرهاد سمندری , علی سمندری میباشد.

    حال بنا به نیاز یک فیلد جدید در جدول ایجاد میکنیم که از نوع Text میباشد و میخواهیم نام پدر هر شخص در آن ریخته شود در صورتی که شخص پدر نداشته باشد مقدار NULL ریخته شود. ضمناً فرض کنید که این کار را حتما با استفاده از دستورات SQL باید انجام داد.

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    63

    SELECT PEOPLE.NAME, PEOPLE.LNAME, PEOPLE_1.NAME AS FATHERNAME, PEOPLE_1.LNAME AS FATHERLASTNAME
    FROM PEOPLE LEFT OUTER JOIN
    PEOPLE PEOPLE_1 ON PEOPLE.ID = PEOPLE_1.PARENT

  3. #3
    دوست عزیزم،
    شما نیازی ندارید که حتما نام پدر رو در جدول به صورت فیزیکی ذخیره کنین، بلکه مثل Query در پست قبلی میتونین فقط موقع نمایش، نام پدر رو استخراج کنین.
    اما اگر به جهت Performance یا هر دلیل دیگه ای میبایست این کار انجام بشه، به این روش عمل کنید(با فرض اینکه فیلد ParentName به جدول اضافه شده و حاوی مقدار NULL هستش):
    UPDATE MyTable SET ParentName=tmp.LastName FROM (SELECT * FROM MyTable) tmp WHERE MyTable.ParentID=tmp.Code

    اما به یاد داشته باشین که با تغییر مقدار فیلد ParentID میبایست مقدار ParentName هم به روز بشه.
    موفق باشید

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

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