تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: راهنمایی در دستورات SQL

  1. #1
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض راهنمایی در دستورات SQL

    من یه مشکل دارم با دستورات SQL وقتی این دستور رو اجرا می کنم باید 4 تا رکورد جواب بده ولی 7 بار اون 4 تا رکورد رو پشت سر هم می یاره ریلشنشم درسته وقتی FROM Student خالی می نویسم درست می شه ولی اون مقدار ها مثل School.Name یا اینایی که به جدول های دیگه مربوتن خالی می یاره




    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  2. #2
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض

    من فکر می کنم که ساختار بانک شما استاندارد نیست,

    شما بهتره از کلیدهای اصلی و خارجی برای تمامی ستونهای کلیدی در جداول استفاده کنید, در اون صورت براحتی با Join میشه اطلاعات رو واکشی کرد.

  3. #3
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض

    خوب من این کار و کردم بانکش ردیفه
    فقط با Join مشکل دارم چطوری نوشته می شده ؟
    دستور بالا رو چطوری می شه با Join نوشت ؟

  4. #4
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض

    من مختصرا راهنماییت می کنم , تا خودت بهتر بتونی مفهوم Join رو یاد بگیری و از لذتش کیفور بشی !!!

    JOIN : ارتباط منطقی بر اساس یه رابطه منطقی مثل کلید اصلی و خارجی بین حداقل 2 جدوله که امکان انتخاب داده ها رو از هر دو جدول و نمایش در یک جدول مشترک فراهم می کنه. همه تلفیق ها بر اساس کلیدهای اصلی و خارجی نیستن و شما می تونی بر اساس هر چیز مشترکی بین جدوال تلفیق ایجاد کنی.

    تو مثال بالا ما سه جدول Student ؛ School و City داریم.

    جدول اصلی ما در بین سه جدول فوق جدول Student هست که دارای ستونی با کلید اصلی به نام STID هست. جدول school هم دارای ستونی به نام SCHID هست که کلید اصلی جدول هست و در جدول City هم کلید اصلی ستونی به نام CITID وباشد.

    *** در جدول Student بجز ستون اصلی دارای 2 کلید خارجی به نام SCHID و CITID هستیم که مشخص کننده مدرسه و شهر دانش آموز می باشند. در واقع در این دو ستون از کلید های اصلی دو جدول دیگه استفاده می کنیم و اسم مدرسه یا شهر رو نمی نویسم.

    به زبان ساده واسه مثال شما میشه

    Select Code, Name,Family, Moadel, Reshte,Schoolname,Ostan,shahr,Shahrestan
    From Student
    Inner Join School on Student.SCHID=School.SCHID
    Inner Join City on Student.CITID=City.CITID
    Order By Name
    چون دو ستون داریم که هر دو Name هستند اسم یکی رو عوض کنید Name of student و Name of school

  5. #5
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض

    این چرا اینطوری می کنه ؟

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    این خطا رو می ده ولی وقتی Ok می کنی School.Name رو HighLight می کنه




    اینم از دیتابیس با Access 2007 ه

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اینم Realtion ش



    Last edited by L u K e !; 08-05-2010 at 18:48.

  6. #6
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض

    وقتی که یه دونه از اون Inner Join ها رو پاک می کنم درست می شه

  7. #7
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض

    جنابعالی دقت نکردید من چی نوشتم

    Select Code, Name,Family, Moadel, Reshte,Schoolname,Ostan,shahr,Shahrestan
    From Student
    Inner Join School on Student.SCHID=School.SCHID
    Inner Join City on Student.CITID=City.CITID
    Order By Name
    Select Student.Name,City.Ostan,School.Name
    FROM Student
    Inner Join City on Student.CityCode =City.CityCode
    Inner Join School on Student.SchoolCode=School.SchoolCode


    معنای Student.Name و City.Ostan و School.Name چیه ؟

    اشتباهت همینجاست !!!

  8. #8
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض

    چرا توجه کردم
    اول اینجوری نوشته بودم
    ولی بازم همون خطا رو می ده

  9. #9
    پروفشنال majj's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    716

    پيش فرض

    من اکسس 2007 ندارم وگرنه کمکت میکردم ولی از خطای داده شده (sуntax error ) میشه فهمید که شما یک خطای دستوری دارین یعنی طریقه نوشتن دستورتون اشتباهه

  10. #10
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض

    بله من هم تست کردم متاسفانه تو اکسس ارور می ده.

    ولی من از نمونه ای مشابه همین تو SQL استفاده می کنم ولی درست کار می کنه

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

    SELECT Student.Name, Student.Family, City.Ostan, City.Shahr, School.SchoolName
    FROM (City INNER JOIN School ON City.CityCode=School.CityCode) INNER JOIN Student ON (School.SchoolCode=Student.SchoolCode) AND (City.CityCode=Student.CityCode);

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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •