PDA

View Full Version : دستور select پیشرفته



programerinfonet
سه شنبه 15 مرداد 1392, 19:24 عصر
سلام دوستان
چه طوری میشه دستور سلکت رو نوشت به طوری که بیاد فیلد اول یک جدول رو بگیره اگه 1 بود بره از جدول شماره ی یک بقیه فیلدهارو بیاره
اگه 2 بود بره از جدول دو بقیه فیلدهارو بیاره
یعنی فیلد اول مشخص می کنه که از چه جدولی انتخاب فیلدهای بعدی رو انتخاب کنه
بانکمم اکسسه
ممنون میشم کمکم کنید

danialafshari
سه شنبه 15 مرداد 1392, 19:46 عصر
سلام
مگر چند تا جدول وجود داره ؟ خب شرط بزار و با case یا if جدول مورد نظر رو نشون بده

بهترین راه اینه که نام جدول ها رو پشت سر هم بزاری مثلا Table1 , Table2 , Table3 که لازم نباشه مجددا هی کد بنویسی چون به صورت String می تونی مقدار 1 و 2 رو تغییر بدی و از کاربر بگیری
مثلا
@"select id,name,family
from table"+textbox1.text;
دستی نوشتم
و Textbox1 مقداری هست که کاربر وارد می کنه
موفق باشی

programerinfonet
سه شنبه 15 مرداد 1392, 20:03 عصر
جریان اینه که
من چهار تا جدول دارم با یک جدول مادر
حالا فیلدای این جدول مادر تو همهی این 4 جدول دیگه هست و همین طور تو جدول مادر یک فیلدهم هست که نشون میده اون کورد مال کدوم جدوله
حالا میخوام با توجه به فیلد اول که مشخص می کنه بقیه فیلدهای اون رکورد مال کدوم جدول هر فیلد از جدول خودش ناختاب بشه
امیدوارم تونسته باشم منظورمو برسونم
و میدونم که باید تو سلکت سوئیچ هم به کارر ببرم
مثلأ
اگر فیلد اول یک بود فلان فیلدهارو از فلان جداول انتخاب کن
اگر فیلد اول دو بود فلان فیلدهارو از فلان جداول انتخاب کن
و ...

programerinfonet
چهارشنبه 16 مرداد 1392, 17:33 عصر
کسی نبود کمک ؟؟؟
سوالمو راحت تر بیان کنم
این تصویر داده های منه که میخوام با دستور join و switch توی select به جای کد ها داده های مورد نظرمو نمایش بدم حالا چه جوری ؟؟
108686
طبق عکس بالا من 4 تا جدول دارم
دریافت چک - پرداخت چک - اشختص - صدور چک
حالا تعین شرط بر اساس دو تا فیلد اول یعنی جدول و شماره ثبت صورت میگیره و چهار فیلد آخر هم توی هر 4 تا جدول مذکور هستن
حالا من میخوام با توجه به دو فیلد اول 4 تا فیلد بعدی به جای شماره کلید خود داده هاش از جدول مربوطش سکللت بشه
به مثال زیر توجه کنید مثلأ رکورد دوم
فیلد اول "دریافت چک" یعنی اینکه نمایش از جدول دریافت چک صورت بگیره . فیلد شماره ثبتش = 20 یعنی idنمایش 4 تا فیلد آخر از روی id شماره 20 انجام بشه
پس میشه بره از جدول دریافت چک رکوردی که آی دیش 20 هست رو پیدا کنه و مبلغ تاریخ و تشخیص اون رکورد رو بیاره نمایش بده
ولی نمی دونم select رو چه جوری بنویسم
ممنون میشم کمم کنید

البته دیتابیس رو زضمیمه کردم من میخوام جدول داکیومنت تو دیتابیس به جای کدها خود داده هاش نمایش داده بشه
108695
جدول ها رو ببینید منظر منو متوجه میشید
مرسی

sohil_ww
چهارشنبه 16 مرداد 1392, 18:25 عصر
دوست عزیز به این صورت انجام بده

select chek.name,chek.date from chek inner join on table2.ID=chek.ID

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