نمایش نتایج: از شماره 1 تا 13 از مجموع 13
سپاس ها 10سپاس
  • 3 توسط basic
  • 1 توسط IT_Pro
  • 1 توسط mirhendi
  • 2 توسط mojtaba461
  • 2 توسط mehrzadmo
  • 1 توسط mirhendi

موضوع: نوشتن کوئری برای یک پایگاه داده !

  
  1. #1
    نام حقيقي: امیرخاتم پدرام

    خواننده شناسه تصویری amirkhatam
    تاریخ عضویت
    Sep 2011
    محل سکونت
    ایران
    نوشته
    684
    سپاسگزاری شده
    515
    سپاسگزاری کرده
    112

    نوشتن کوئری برای یک پایگاه داده !

    سلام از دوستان کسی هست بدونه چجوری میشه یک کوئری نوشت که :
    از یک جدول ، که دارای فیلد های مثلا ID , Field 1 هست ، بیاد فیلد 1 رو با توجه به ورودی ما پیدا کنه و خط بعدی رو هم نگه داره !!!!

    کد:
    SELECT ID, Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8, Field9 FROM DB WHERE Field4 = ?
    الان با این کوئری من هرچی تو فیلد سرچ بذارم یرام با مقایسه با مقدار فیلد 4 میاره ، میخواهم خط زیری رو هم نگه داره

    مثلا من سرچ کردم 20 تمام سطون های که در فیلد4 ، 20 دارن فیلتر شد ، و یکیشون مثلا ID 23 داره حالا میخواهم خروجی ، خط های ID 23 , 24 باشه !


    Help Me



  2. #2


    عضو عادی شناسه تصویری basic
    تاریخ عضویت
    Apr 2004
    نوشته
    328
    سپاسگزاری شده
    299
    سپاسگزاری کرده
    59
    این یک راه غیر منطقی

    کد:
    SELECT        ID, Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8, Field9
    FROM            tbl
    WHERE id in (select id from tbl where Field4 = ?) or id in (select id+1 from tbl where Field4 = ?)
    که مطمئنا راههای منطقی هم وجود داره


    mehrzadmo، amirkhatam و mojtaba461 سپاسگزاری کرده‌اند.

  3. #3
    نام حقيقي: IT Pro

    عضو عادی شناسه تصویری IT_Pro
    تاریخ عضویت
    Sep 2008
    محل سکونت
    Internet
    نوشته
    118
    سپاسگزاری شده
    48
    سپاسگزاری کرده
    32
    سلام،

    سوالتون رو واضح بپرسین، شاید بتونم کمکتون کنم.


    amirkhatam سپاسگزاری کرده است.

  4. #4
    نام حقيقي: Mahdi Mirhendi

    عضو عادی
    تاریخ عضویت
    Apr 2014
    محل سکونت
    Esfahan
    نوشته
    75
    سپاسگزاری شده
    27
    سپاسگزاری کرده
    47
    عزیز function پی اچ پی رو میتونم واستون بنویسم اگه به دردتون میخوره


    amirkhatam سپاسگزاری کرده است.

  5. #5
    نام حقيقي: امیرخاتم پدرام

    خواننده شناسه تصویری amirkhatam
    تاریخ عضویت
    Sep 2011
    محل سکونت
    ایران
    نوشته
    684
    سپاسگزاری شده
    515
    سپاسگزاری کرده
    112
    دوستان یک فایل پایگاه داده است ، یک خط حاوی یک کد و دقیقا خط زیرش ، اطلاعات تکمیلی ،
    حال با نوشتن یک کوئری ساده میشه مثلا تمام خط های که کد 30 دارن رو اورد ( خط اول) اما خط دوم که شامل اطلاعات تکمیلی هست خیر ،
    میخواهم یک جوری بشه ، که وقتی یک خط رو با جستجو کوئری پیدا کردم خط زیرش هم بمونه !
    مثل مثال ، من نمونه قرمز رو سرچ میکنم ، در حالت عادی فقط همون خط میمونه
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    اما میخواهم در صورت امکان این بمونه
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات



  6. #6
    نام حقيقي: مجتبی شمس نجاتی

    عضو عادی شناسه تصویری mojtaba461
    تاریخ عضویت
    Aug 2012
    محل سکونت
    لاهیجان
    نوشته
    2,368
    سپاسگزاری شده
    2269
    سپاسگزاری کرده
    706
    نوشته های وبلاگ
    11
    برای این نوع واکشی نیاز هست که فیلد کلید اصلی رکوردهاتون (یعنی id) به ترتیب و پشت سرهم باشند. مثلا 1 و 2 و 3 و ....

    اگر فرض کنیم به این صورت باشه و اسم جدولتون هم table1 باشه، query زیر خواستتون رو برآورده می کنه:
    کد:
    select * from table1 where field4=? or id=((select id from table1 where fieald4=?)+1)
    اول رکورد مورد نظر رو پیدا می کنید، بعد از اون id همون رکورد رو پیدا می کنید و رکوردی که id اون یکی بیشتر از رکورد مورد نظر هست رو هم پیدا می کنید و چون نیاز به هر دو دارید از or استفاده می کنید.

    - - - ادامه - - -

    این رو هم مد نظر داشته باشید که اگر عبارت جستجو (یعنی مقدار field4) بیشتر از یک نتیجه داشته باشه به ارور بر میخورید و به کوئری پیشرفته تری نیاز هست. در اینصورت بفرمایید کوئری دیگه ای بنویسم.


    mehrzadmo و amirkhatam سپاسگزاری کرده‌اند.

  7. #7
    نام حقيقي: امیرخاتم پدرام

    خواننده شناسه تصویری amirkhatam
    تاریخ عضویت
    Sep 2011
    محل سکونت
    ایران
    نوشته
    684
    سپاسگزاری شده
    515
    سپاسگزاری کرده
    112
    با تشکر
    در حال حاضر کوئری این است
    SELECT ID, Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8, Field9
    FROM DB
    WHERE Field4 = ?


    بله 2 مقدار است ، یعنی این که همچین چیزی بده !!

    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    نمونه نمونه
    نمونه
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    نمونه نمونه نمونه نمونه
    نمونه
    نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    که ما نمونه قرمز و ابی رو بدیم اون این رو بده !
    نمونه نمونه
    نمونه
    نمونه نمونه نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    نمونه نمونه نمونه نمونه
    نمونه
    نمونه نمونه نمونه نمونه نمونه
    طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات طلاعات

    فقط گیر این هستم که چطور خط زیری رو نگه داره !




  8. #8
    نام حقيقي: مهرزاد مقدس

    عضو ویژه/سرپرست بخش‌های Mikrotik و Wireless
    تاریخ عضویت
    Sep 2006
    محل سکونت
    فارس
    نوشته
    4,383
    سپاسگزاری شده
    4620
    سپاسگزاری کرده
    2290
    نوشته های وبلاگ
    6
    اگر اطلاعات این دو رکورد همانطور که شما می فرمایید به هم مرتبط باشند مطمئنا طراح بانک اطلاعاتی سازو کاری برای بازیابی این ارتباط در نظر گرفته . پیشنهاد می کنم یه نمونه کوچک از دیتا بیستون که حاوی تمام سوالات دوستان باشه رو بزارید . مطمئنا راه حل منطقی و سر راستی در این اطلاعات موجوده .


    amirkhatam و mojtaba461 سپاسگزاری کرده‌اند.

  9. #9
    نام حقيقي: Mahdi Mirhendi

    عضو عادی
    تاریخ عضویت
    Apr 2014
    محل سکونت
    Esfahan
    نوشته
    75
    سپاسگزاری شده
    27
    سپاسگزاری کرده
    47
    باید رکورد اصلی رو پیدا کنید
    بعد ای دی رکورد اصلی رو بگیرید و یکی بهش اضافه کنید و دوباره رکورد را چاپ کنید


    amirkhatam سپاسگزاری کرده است.

  10. #10
    نام حقيقي: امیرخاتم پدرام

    خواننده شناسه تصویری amirkhatam
    تاریخ عضویت
    Sep 2011
    محل سکونت
    ایران
    نوشته
    684
    سپاسگزاری شده
    515
    سپاسگزاری کرده
    112
    3000 4 16 19 10 0 3
    -0.29125E+02 -0.19933E+03 0.14377E+03 0.22985E+00 0.62824E+00 -0.74329E+00 0.22870E+06 0.10000E+01 0.10449E+03
    3000 5 12 138 20 0 4
    -0.11445E+02 -0.15100E+03 0.86600E+02 0.22985E+00 0.62824E+00 -0.74329E+00 0.22870E+06 0.10000E+01 0.10475E+03
    3000 6 11 51 30 0 5
    0.72157E+01 -0.10000E+03 0.26256E+02 0.22985E+00 0.62824E+00 -0.74329E+00 0.22870E+06 0.10000E+01 0.10502E+03
    3000 7 5 50 50 0 6
    0.43726E+02 -0.20683E+00 -0.91812E+02 0.22985E+00 0.62824E+00 -0.74329E+00 0.22870E+06 0.10000E+01 0.10555E+03
    یک ستون هست ، که 10 30 و 50 داره توش میخواهم با سرچ کردن اون 10 و یا 30 ، خط زیر هم بمونه !
    نمیشه هرکار میکنم نمیشه !!



  11. #11
    نام حقيقي: مجتبی شمس نجاتی

    عضو عادی شناسه تصویری mojtaba461
    تاریخ عضویت
    Aug 2012
    محل سکونت
    لاهیجان
    نوشته
    2,368
    سپاسگزاری شده
    2269
    سپاسگزاری کرده
    706
    نوشته های وبلاگ
    11
    این چه نوع بانکه؟!
    رکورد های زوج id متفاوت دارن؟ اینا همه داخل یه جدول هستن؟



  12. #12
    نام حقيقي: امیرخاتم پدرام

    خواننده شناسه تصویری amirkhatam
    تاریخ عضویت
    Sep 2011
    محل سکونت
    ایران
    نوشته
    684
    سپاسگزاری شده
    515
    سپاسگزاری کرده
    112
    اره ، هر خطی یک ID داره !
    همین نمونه که 8 خط هست برای مثال ، از 1 تا 8 ، ID داره !



  13. #13
    نام حقيقي: مجتبی شمس نجاتی

    عضو عادی شناسه تصویری mojtaba461
    تاریخ عضویت
    Aug 2012
    محل سکونت
    لاهیجان
    نوشته
    2,368
    سپاسگزاری شده
    2269
    سپاسگزاری کرده
    706
    نوشته های وبلاگ
    11
    من هیچ راهی به ذهنم نمیرسه چون این طراحی بانک کاملا غیر اصولیه! اگر بانک خودتونه پیشنهاد میکنم ساختار جداول رو تغییر و نرمال سازی انجام بدید.



کلمات کلیدی در جستجوها:

هیچ کلمه ای ثبت نشده است.

برچسب برای این موضوع

مجوز های ارسال و ویرایش

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