مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

سوال در مورد join نمودن دو جدول در mvc

  • جمعه 26 آبان 1396
  • 13:41
تشکر میکنم

باسلام

من برای نمایش صفحه Index خودم یه سری اطلاعات رو از دیتابیس گرفتم و چندتا جدول رو با هم بصورت زیر JOIN کردم

 var q = from Lec in db.LecturePresenceControls
                    join Dayss in db.Days
                        on Lec.DayOfLectureID equals Dayss.ID
                    join Vaz in db.LecturePrecenceVaziats
                        on Lec.Vaziat equals Vaz.ID
                    join Dars in db.LectureTables
                        on Lec.LectureID equals Dars.ID
                    join Con in db.ContractBaseTables
                        on Lec.ContractID equals Con.ID
                    join Hag in db.HagolTadrisTables
                        on Con.NimsalTahsili equals Hag.NimsalTahsili 
                    
                        
                    
                    orderby Lec.DayOfLectureID descending
                    select new ViewModel.LecturePrecenceTotalVM
                    {
                        Id = Lec.ID,
                        ContractID = Lec.ContractID,
                        LectureID = Lec.LectureID,
                        LectureName = Lec.LectureName,
                        ProfessorName = Lec.ProfessorName,
                        DaysName = Dayss.Days,
                        SeHazer = db.SessionLectureTables.Count(x => x.LecturePrecenceID.Equals(Lec.ID) && x.Vaziat.Equals(1)),
                        NazariVahed = Dars.NazariUnit,
                        AmaliVahed =Dars.AmaliUnit,
                        KargahiVahed =Dars.KargahiUnit,
                        SumNazari = Hag.Mablag * Dars.NazariUnit,
                        SumAmali =0,
                        SumKargahi=0,
                        SubTotalLecture=0
                    };

            return View(q.OrderByDescending(x => x.DaysName).ToList());

خط قرمز رنگو نگاه کنید:

SumNazari این حاصل ضرب مبلغ از جدول Hag با واحد نظری درس رو نشون میده!

خطهای بالایی برای join رو نگاه کنید

join Hag in db.HagolTadrisTables
                        on Con.NimsalTahsili equals Hag.NimsalTahsili

من بر اساس نیمسال تحصیلی هر دو جدول رو join کردم!!! این درست نیست چون باید بر روی نیمسال، سال تحصیلی، مقطع و مدرس مدرس باشه!!!

اینکارو چچجوری انجام بدم!!!!!!!!!؟؟؟؟؟

یعنی NimsalTahsili و SaleTahsili و MagtaID و ProfessorMadrak از جدول Con باید با یک ردیف در جدول Hag برابر باشه!!!!

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 26 آبان 1396
  • 16:08

میتونید join نزنید و کوئری اصلی رو بزنید و اطلاعات اصلی رو بدست بیارید

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

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

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

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)