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

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

  1. #1
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    سلام
    من یک ستون به نام PeigiriCode در 25 جدول در بانک اطلاعاتیم دارم.
    می خوام ببینم چطور می شه یک سلکت بزنم و این ستون در تمامی جداول بررسی بشه؟
    با تشکر

  2. #2
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

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

    @"SELECT FormName
    FROM tblServisRequest, tblOfficeDuty, tblMosaede2, ...
    WHERE PeigiriCode = '" + txtCode.Text + "'";


    که همه 25 جدولم باشه؟
    یا روش بهتری هم هست؟
    یا اصلاً روش نوشتن این سلکت درسته یا نه؟

  3. #3

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

    اولا ک چرا سوالت رو تو بخش sql نمی زنی؟!؟!
    ثانیا جوابت اینه که:
    حتما txtCode.Text توی یک جدول وجود دارد به این معنی که یک جدول وجود داره که PeigiriCode کلید اصلی آن است و در بقیه جداول این ستون بعنوان کلید فرعی هست. من اسم این جدول اصلی رو می ذارم tblmain

    select tblX.formName
    from (select PeigiriCode from tblmain where PeigiriCode ='" + txtCode.Text + "') as m
    join tbl1 ON m.PeigiriCode= tbl1.PeigiriCode
    join tbl2 ON tbl1.PeigiriCode= tbl2.PeigiriCode

    و تا آخر ادامه می دی

  4. #4
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    PeigiriCode کلید اصلی یا فرعی نیست. یک فیلد عادی است.
    لطفاً در مورد کد بیشتر توضیح دهید.
    درضمن عذرخواهی می کنم که تاپیک رو اینجا ایجاد کردم.

  5. #5

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

    خب در این کد مهم نیس فیلد شما اصلی یا فرعی باشه.
    یه سوال دارم. شما میخوای txtCode.Text رو در همه جدولها سرچ کنی و ببینی تو کدوم جدول هست یا نه؟!
    من فکر می کنم شما جداول رو درست طراحی نکردید. میشه چندتا از جدولها با فیلدها رو بهم بگی تا بتونم بهتر کمکت کنم

  6. #6
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    نقل قول نوشته شده توسط Kubuntu مشاهده تاپیک
    و تا آخر ادامه می دی
    یعنی باید کل 25 جدول رو بنویسم.
    واااااااااااااااااااااااا ااااااااااااااااااااااااا ااااااااااااا ویلاااااااااااااااااااااا ااااااااااااااااااااااااا ااااااااااا
    اینجوری که به خاک سیاه می شینم.

  7. #7
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    نقل قول نوشته شده توسط Kubuntu مشاهده تاپیک
    خب در این کد مهم نیس فیلد شما اصلی یا فرعی باشه.
    یه سوال دارم. شما میخوای txtCode.Text رو در همه جدولها سرچ کنی و ببینی تو کدوم جدول هست یا نه؟!
    من فکر می کنم شما جداول رو درست طراحی نکردید. میشه چندتا از جدولها با فیلدها رو بهم بگی تا بتونم بهتر کمکت کنم
    Untitled.jpg
    در تمام جداولم دقیقاً این ستون با همین نام وجود دارد که از نوع text می باشد.
    سلکت من بدین شکل:
    مثلاً: ستون FormName و ID ( که aAuto Number هستش ) رو از تمامی جداول بیار به شرطی که PeigiriCode = 35/1.
    این سلکت فقط از یک جدول اطلاعات رو ( حالا ممکن 3 یا 4 یا ... تعداد بیاره ) پیدا می کنه. ( به دلیل اینکه PeigiriCode جوری ذخیره می شود که توی دو جدول امکان ندارد 35/1 وجود داشته باشد ) ( در یک جدول چندتا هست ولی در جدول دیگری نیست )
    بعد میگم از اون هایی که پیدا کردی FormName اونی رو بیار که ID اون از همه کوچکتر هستش.
    در مجموع در آخر به من یک رشته برمی گرداند.

    خوب توضیح دادم یا نه؟

  8. #8

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

    عالی بود!!!
    درست حدس زدم جدول ها درست طراحی نشده چون مقدار تکراری در یک ستون وجود دارد.
    شما بایدFormName و ID و ستونهایی که داده تکراری دارد را جدا کرده و در یک جدول جدید قرار بدی بعد یک کلید خارجی به جدولهای دیگه بزنی. اینطوری فقط یک FormName داری و نیاز نیس کوچکترین رو انتخاب کنی.

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

  9. #9
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    یعنی یه همچین چیزی باید بنویسم:

    @"SELECT ID, FormName
    INTO tblNewTable ( وجود ندارد، با این دستور ساخته می شود )
    FROM تمامی جدوال
    WHERE PeigiriCode = '" + 35\1 ( مثلاً ) + "'";



    @"SELECT FormName
    FROM tblNewTable
    WHERE ID از همه کوچکتر باشد;

  10. #10

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

    دوست عزیز شما نباید جداول رو طوری طراحی کنی ک واسه پیدا کردن یک داده مجبور بشی همه جدولها رو بگردی. جداول شما نیاز به نرمالسازی داره... حالا خود دانی

  11. #11
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    نقل قول نوشته شده توسط Kubuntu مشاهده تاپیک
    دوست عزیز شما نباید جداول رو طوری طراحی کنی ک واسه پیدا کردن یک داده مجبور بشی همه جدولها رو بگردی. جداول شما نیاز به نرمالسازی داره... حالا خود دانی
    آخه موضوع اینه که من 25 تا فرم خام دارم و به واسطه آنها 25 جدول در بانک اطلاعاتی.
    هرکس که وارد آن درخواست ( فرم خام ) میشه یک کد پیگیری بهش داده می شه.
    حالا هر موقع که بخواد اون کد پیگیری رو در کنترل تکست باکس وارد می کنه و فرم خام مربوطه پیدا میشه.

  12. #12

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

    یعنی 25تا کدپیگیری داریم که هرکد مختص یک فرم خاصه و به هر کاربر بصورت تصادفی یکی از این 25تا کد اختصاص داده می شه؟
    اگه همین باشه کافیه شما یه جدول بنام Head_Info داشته باشی که شامل فیلدهای :
    ID : کلید اصلی آتونامبر
    FormName : از نوع varchar(15)
    PeigiriCode: این ستون مقدار تکراری ندارد و هر رکورد مختص یک فرم است
    در کل این جدول شما فقط 25 ردیف داره.
    با این حساب دیگه نیاز نیس واسه بدست آوردن اسم فرم همه جدولها رو بگردی و کوئری شما می شه:
     @"SELECT FormName
    FROM Head_Info
    WHERE PeigiriCode = '" + txtCode.Text + "'";

    حالا اگر توی جدولهای دیگه وجه اشتراک وجود داره و ستون هایی هستند که مقدار تکراری یا NULL می گیرند باید بقیه جدولها هم بهینه بشه

  13. #13
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

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

    داداش گلم درست شد.
    شما گفتی یه جدول درست کن منم یکی درست کردم و دقیقاً همون فیلدهایی که گفتید رو درست کردم.
    وقتی که داره کد پیگیری رو داخل جدولی که به فرم خودش مربوط هست می ریزه بهش گفتم توی جدول جدیدی هم که درست کردم بریز.
    از صبر و حوصله ای که به خرج دادید ممنونم.

  14. #14

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

    خاهش می کنم آبجی!!
    اگه در جدول خودش یک ستون بنام PeigiriCode داری که همه سطرها مقداری یکسان می گیره، اون ستون رو حذف کن

تاپیک های مشابه

  1. پیدا کردن تاپیک ها پر بازدید از بین 20 جدول ؟؟؟
    نوشته شده توسط aminghaderi در بخش T-SQL
    پاسخ: 8
    آخرین پست: سه شنبه 13 دی 1390, 09:56 صبح
  2. سوال: پر کردن data grid با ستون هایی از چند جدول
    نوشته شده توسط m.h.movahedi در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 10 آذر 1389, 16:16 عصر
  3. پیدا کردن تعداد شنبه و شکشنبه های بین دو تاریخ
    نوشته شده توسط ali15462002 در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 05 اسفند 1386, 08:54 صبح
  4. پیدا کردن دو فیلد تکراری در بانک (پارادکس)
    نوشته شده توسط sardar_ahmadi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 11
    آخرین پست: یک شنبه 23 بهمن 1384, 08:34 صبح
  5. پیدا کردن نوع فیلد با در دست داشتن dataset
    نوشته شده توسط amir_king2_2 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 18 خرداد 1383, 19:17 عصر

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

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