PDA

View Full Version : فیلتر گذاری مابین چند جدول بدون ارتباط فقط با استفاده از تاریخ



salam007
پنج شنبه 11 خرداد 1391, 20:27 عصر
سلام به مظهر استادان عزیز و گرامی

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

در صورتی که لازم باشد استادان عزیز واسه کمک کردن بهتر به این دانش آموز اگه بگن فیلدها و جدوالم رو ضمیمه میکنم
پیشاپیش از کمکی که در این لحظه به من میکنین متشکرم

salam007
پنج شنبه 11 خرداد 1391, 21:21 عصر
جداولم رو برای دوستان میذارم

Table1[LINE,C1,C2,C3,C4,C5,C6,T1,T2,T3,T4,SIZE1,SIZE2,DAT E,TIME]

TABLE-TARH[CODCOLOR,DATEBEGIN,DATEEND]

TABLE-SARSHIFT[CADENAME,SHIFT,DATE]

salam007
جمعه 12 خرداد 1391, 10:18 صبح
بنده سه جدول دارم که در دو تای آنها یک فیلد تاریخ وجود دارد که در یکی از آنها در روز فقط 3 عدد رکورد اضافه میشود و در دیگری هر 15 دقیقه یکبار یک رکورد با ساعت آن ذخیره میشود . و در جدول سوم ما دو فیلد تاریخ داریم یعنی یکی تاریخ شروع عملیات و یکی تاریخ پایان عملیات که هر ماه (بسته به تشخیص کاربر) یک رکورد وارد میشود . هیچگونه ریلیشنی هم بین جداولم نیست .حالا سوالهای من این است :

1-بهتر است از چه نوعی برای ذخیره تاریخها استفاده کنم (DATE)(VARCHAR)
2-چگونه اطلاعات این سه جدول رو برحسب تاریخ ، زمان ، و فیلدهای مورد نظرم در هر جدولی که خواستم فیلتر و به نمایش در بیارم اونم در یک Gird


جدول اول ----> خط تولید / میزان شمارش(C1..C6)/میزان توقفات (T1..T4)/سایز کالا (SIZE1,SIZE2)/ تاریخ / زمان/ شیفت

جدول دوم----> خط تولید / کد طرح / از تاریخ / تا تاریخ

جدول سوم--> نام مسئول / تاریخ / شیفت

حمیدرضاصادقیان
جمعه 12 خرداد 1391, 11:08 صبح
سلام.
شما اطلاعات این سه جدول رو میخواهید باهم در یک جا نمایش بدید و یک فیلتر کلی روی آنها داشته باشید؟؟
چون الان ساختار جداول نیز به شکلی نیست که حتی بشه از union استفاده کرد.
برای نوع فیلد از نوع Date استفاده کنید.

salam007
جمعه 12 خرداد 1391, 12:47 عصر
بله ،میخام همه اینها پس از فیلتر گذاری در یک Gird به نمایش در بیارم و در صورت نیاز آماده گزارشگیری کنم ولی مشکلم رو هم شما گفتید و او اینکه ساختار جداولم متناظر نیستند اصلا نمیدونم به چه نحو قراره نمایش بدم ، مشکل دیگر این است که نمیتوان ساختار جداول را تغییر خاصی بدم چون اطلاعات جدول اولم رو از plc های روی خط تولید و اطلاعات جدول دومم رو از کاربر و اطلاعات جدول سومم رو از یک سیستم اتوماسیون حضور و غیاب دریافت میکنم . هدف من این است که مثلا کاربر میخاد بدونه از فلان تاریخ تا فلان تاریخ در ساعت فلان تا ساعت فلان(یا فلان شیفت مثلا صبح) میزان شمارش قسمتهای اولش(C1) بروی خط تولید یک یا دو (LINE)چقدر بوده و بر حسب نیاز بتونه این اطلاعات فیلتر گذاری شده رو بر حسب جداول تعاریف اولیه ورود طرح و همچنین سرشیفتها با توجه به کد مشترکشان که در دو جدول بالا هست فیلتر گذاری کنه .البته این فاز یک کار هست که من توش موندم اگه بخوام بقیه رو بگم یکم پیچیده تر میشه .

حمیدرضاصادقیان
جمعه 12 خرداد 1391, 15:45 عصر
اگر ساختارها یکی نباشند نمیشه عملا کاری کرد یا باید یک فیلد مشترک داشته باشید بتونید داده های متناظر رو بدست بیارید.
یک راه استفاده از جداول Temp هست که مقادیر مورد نظر رو اونجا Insert کنید با یک ساختار مشخص بعد از روی اون نتیجه مورد نظر رو استخراج کنید.

salam007
جمعه 12 خرداد 1391, 16:52 عصر
اگر ساختارها یکی نباشند نمیشه عملا کاری کرد یا باید یک فیلد مشترک داشته باشید بتونید داده های متناظر رو بدست بیارید.
یک راه استفاده از جداول Temp هست که مقادیر مورد نظر رو اونجا Insert کنید با یک ساختار مشخص بعد از روی اون نتیجه مورد نظر رو استخراج کنید.


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

ما در جدول اول برای فیلتر گذاری کلأ 2تا پارامتر ورودی برای شماره خط تولید ، 6 تا پارامتر ورودی از یک نوع (c1..c6) که هر کدام معرف شمارش کالای قسمت خاصی هستند و 4 تا پارامتر ورودی از یک نوع دیگر که هر کدام معرف توقف قسمت خاصی میباشند و دو پارامتر برای طول و عرض کالا (سایز) و تاریخ و زمان و شیفت مورد نظر ...... فیلتر گذاری بین اینها کاری نداره اما من میخام این فیلتر رو بر اساس تاریخ طرحهای ثبت شده برای هر خط تولید در جدول دوم و همچنین نام سرشیفتها در جدول سوم فیلتر کنم .
یعنی ابتدا جدول اولم بر اساس پارامترهای گفته شده مابین دو تاریخ فیلتر شود سپس جداول دیگر در صورتی که کاربر پارامترهای آنها رو وارد کرده بود بر اساس پارامترهایشان در این بین فیلتر شوند که با این هر چند نتونیم جدولها رو ادغام کنیم اما حداقل بتونیم گزارشی ازش در بیاریم