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

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




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

نام تاپيک: جست و جو در اس کیو ال

  1. #1
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض جست و جو در اس کیو ال

    سلام
    من میخوام یه جست و جو در اس کیو ال انجام بدم که به مشکل برخوردم. ممنون میشم کمک کنید.
    ما یه جدول داریم به اسم Table1 که 10 تا فیلد داره . و یه فیلد کلید هم داره به نام t_code
    و یه جدول دیگه داریم به نام Table2 که دو فیلد داره. یکی هم نام کلید جدول قبلی t_code و دیگری به اسم values .
    موقعی که میخوام اطلاعاتی در Table1 قرار بدم یک مقداری رو از کاربر می گیرم که از نوع عددی هست و اون مقدار رو میریزم توی فیلد values جدول دیگه و کد ثبت Table1 رو توی t_code جدول دوم میریزم.
    یعنی به این شکل

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    من میخوام وقتی کاربر عدد 5 رو میده از جدول Table2 سرچ کنه و هرجا که تو این جدول، values مقدار برابر 5 رو داشت رو انتخاب کنه که در اینجا مقدار های 1254 و 1345 رو به دست می آوریم . حالا میخوایم اطلاعات جدول Table1 رو با این شرط نشون بدیم که مقدار کدشون برابر با 1254 و 1345 باشه.
    یعنی یه چیزی مثل اشتراک فیلد t_code جدول Table2 با شرط values=5 با جدول Table1 .
    امیدوارم تونسته باشم منطورمو برسونم.
    من از linq استفاده نکردم در این برنامه و نمیتونمشم تغیر بدم . ممنون میشم اگه به روشی غیر از linq کمک کنید.
    Last edited by shadmehrshadow1; 28-12-2012 at 21:41.

  2. #2
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    یه کوئری ساده جوین بزنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  3. این کاربر از shotok بخاطر این مطلب مفید تشکر کرده است


  4. #3
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    سلام
    دو تا بخش سوال داشتم :
    1- ما یه جدول داریم مثلا جدول اول : name,family,age,tel,address و یه جدول دیگه که همین فیلد های جدول اول رو داره به علاوه فیلد های دیگه.
    من میخوام وقتی اطلاعاتی در جدول دوم وارد می کنیم و ثبت می کنیم . بعدش اطلاعات فیلد های name,family,age,tel,address در جدول دوم رو با همه ی رکورد های موجود در جدول اول مقایسه کنه و اون سطر هایی که شباهت بیشتری بهش دارن رو در خروجی به دست بیاریم. اگه بشه درصد شباهت رو هم به دست آورد خیلی خوبه . نمیدونم که تونستم منظورم رو برسونم یا نه.
    2- من یه جدول دارم که توش یه فیلد داره به نام city که درونش نام شهر رو باید ذخیره کنم. اما برای اینکه هم افزونگی به وجود نیاد و حجم بانک کم بشه یه جدول دیگه با نام cites درست کردم که توش نام شهر ها هست که به هر کدوم یک کد دارند. و موقع دخیره کردن اطلاعات توی جدول اولی دیگه نام شهر رو ذخیره نمی کنم و فقط کد اون شهر رو ذخیره می کنم.
    تا اینجاش مشکلی نیست ولی وقتی برای جست و جوی اطلاعات می خوام نتایج اون سطر رو نشون بدونم در قسمت فیلد شهر فقط کد شهر نشون داده میشه همون طوری که ذخیره شده . مثلا 11 که اینجا واقعا برای کاربر بی معنی هست و باید بره و ببنه توی جدول cites و کد 11 رو ببینه که نام شهرش چیه . حالا میخوام بدونم که جستو جو رو چه طور انجام بدم که به جای اون عدد بره و از توی جدول نام شهر رو پیدا کنه و نامش رو نشون بده.
    البته این یه مثال هست و ممکنه توی یه جدول چند تا فیلد اینجوری داشته باشم.
    ممنون

  5. #4
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

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

  6. #5
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    ما یه جدول داریم مثلا جدول اول : name,family,age,tel,address و یه جدول دیگه که همین فیلد های جدول اول رو داره به علاوه فیلد های دیگه.
    من میخوام وقتی اطلاعاتی در جدول دوم وارد می کنیم و ثبت می کنیم . بعدش اطلاعات فیلد های name,family,age,tel,address در جدول دوم رو با همه ی رکورد های موجود در جدول اول مقایسه کنه و اون سطر هایی که شباهت بیشتری بهش دارن رو در خروجی به دست بیاریم. اگه بشه درصد شباهت رو هم به دست آورد خیلی خوبه . نمیدونم که تونستم منظورم رو برسونم یا نه.
    منظورتون رو متوجه نشدم؛ به نظرم بهتره خود صورت مساله رو بیان کنید تا بهتر متوجه مشکلتون بشیم.

    من یه جدول دارم که توش یه فیلد داره به نام city که درونش نام شهر رو باید ذخیره کنم. اما برای اینکه هم افزونگی به وجود نیاد و حجم بانک کم بشه یه جدول دیگه با نام cites درست کردم که توش نام شهر ها هست که به هر کدوم یک کد دارند. و موقع دخیره کردن اطلاعات توی جدول اولی دیگه نام شهر رو ذخیره نمی کنم و فقط کد اون شهر رو ذخیره می کنم.
    تا اینجاش مشکلی نیست ولی وقتی برای جست و جوی اطلاعات می خوام نتایج اون سطر رو نشون بدونم در قسمت فیلد شهر فقط کد شهر نشون داده میشه همون طوری که ذخیره شده . مثلا 11 که اینجا واقعا برای کاربر بی معنی هست و باید بره و ببنه توی جدول cites و کد 11 رو ببینه که نام شهرش چیه . حالا میخوام بدونم که جستو جو رو چه طور انجام بدم که به جای اون عدد بره و از توی جدول نام شهر رو پیدا کنه و نامش رو نشون بده.
    این موردی که فرمودید با جوین حل میشه.
    فرض بفرمائید 2 جدول city,MyTable داریم. در MyTable فیلد citycode به عنوان کلید خارجی آورده شده است. در جدول city فیلدهای citycode,cityname موجود است.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  7. این کاربر از shotok بخاطر این مطلب مفید تشکر کرده است


  8. #6
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    ممنون دوست عزیر
    فرض بفرمائید 2 جدول city,MyTable داریم. در MyTable فیلد citycode به عنوان کلید خارجی آورده شده است. در جدول city فیلدهای citycode,cityname موجود است.
    در این روش توی جست و جو تمام فیلد های جدول mytable و city نمایش داده میشه . یعنی یک بار یه جا citycode که برای جدول mytable هست نمایش داده می شه و هم یه جا citycode و cityname برای جدول city نمایش داده میشه یعنی دو بار اضافی citycode نمایش داده میشه.در حالی که ما فقط به cityname احتیاج داریم. که مجبوریم visible کنیم اون ستون هارو تا نمایش داده نشه. راه دیگه ای نیست؟
    و اینکه اگه 10 تا جدول توی این جست و جو داشته باشیم باید بعد از where یه and بنویسیم و همین کار دستور رو 10 بار برای جدوال دیگه هم استفاده کنیم؟
    مثل زیر:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    منظورتون رو متوجه نشدم؛ به نظرم بهتره خود صورت مساله رو بیان کنید تا بهتر متوجه مشکلتون بشیم.
    بزارید این جور بگم .
    فرض کنید ما یک جدول داریم به نام table1 که شامل فیلد های name,family,age,tel,address هست .
    که مثلا اطلاعات زیر توی این جدول هست به ترتیبی که بالا گفتم.
    علی ، زند ، 20 ، 0911346 ، مشهد
    محسن ، زند ، 21 ، 0911347 ، اصفهان
    علی ، حمیدی ، 20 ، 0911345 ، تهران
    من میخوام جست و جو به جای اینکه بر اساس یک فیلد انجام بشه مثلا فیلد name ، روی تمام فیلد ها انجام بشه. مثلای برای جست و جو بجای اینکه فقط بدیم محسن تا جوابی رو بده . تمام فیلد ها رو بدیم . مثلا مقدار های زیر رو فرض کنید.
    محسن ، حمیدی ، 20 ، 0911345 ، تهران
    1- یعنی جست و جو بر اساس تمام فیلدها.
    2- در صورتی که عملیات 1 انجام شد اونوقت حتما نتیجه رو بر اساس میزان شباهت به ترتیب نشون بده که این جوری میشه:
    علی ، حمیدی ، 20 ، 0911345 ، تهران | 4 شباهت
    علی ، زند ، 20 ، 0911346 ، مشهد | 2 شباهت
    محسن ، زند ، 21 ، 0911347 ، اصفهان | 1 شباهت
    امیدوارم که اینبار تونسته باشم منظورم رو برسونم.

  9. #7
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    بسم الله الرحمن الرحیم
    با سلام
    در این روش توی جست و جو تمام فیلد های جدول mytable و city نمایش داده میشه . یعنی یک بار یه جا citycode که برای جدول mytable هست نمایش داده می شه و هم یه جا citycode و cityname برای جدول city نمایش داده میشه یعنی دو بار اضافی citycode نمایش داده میشه.در حالی که ما فقط به cityname احتیاج داریم. که مجبوریم visible کنیم اون ستون هارو تا نمایش داده نشه. راه دیگه ای نیست؟
    لازم به کار اضافی نیست؛ هر فیلدی که تمایل دارید در select قرار دهید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در تاپیک [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] یه کدی برای نمایش فاکتورها گذاشته بودم که مسئله جست و جوتون رو مرتفع میکنه. (راجع به پارامترهای optional تحقیق کنید).
    موفق باشید.

  10. این کاربر از shotok بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

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

User Tag List

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

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