jaleel 40 اشتراک گذاری ارسال شده در 7 دی، ۱۳۸۹ با سلام بر همگی من باید از چهار table در اسکوئل 2005 گزارش بگیرم ولی هنگامی که این چهار تیبل را با left join به هم متصل می کنم رکوردها را چندبار نمایش می دهد و باعث می شود که سرجمع های تعداد رکورد و مجموع ارقام اشتباه شود برای نمونه یک ریال اضافی کردن باعث می شود که گاهی 4 ریال اضافی نشان دهد. چه کنم ؟ که رکوردهای اضافی نشان داده نشود با DISTINCT همه نمی شود کاری کرد یعنی باز هم رکورد اضافی نشان می دهد . 1 لینک به دیدگاه
jaleel 40 مالک اشتراک گذاری ارسال شده در 25 دی، ۱۳۸۹ راه حل : چون تیبل دوم و سوم دارای رکورد های تکراری هست دچار این مشکل شده بودیم مثلا SELECT table1.fi1,table1.f2,table1.f3,table2.f1,table2.f2 FROM table1 left outer join on table1.f1 = table2.f1 اگر در table2 رکورد تکراری وجود داشته باشد درست عمل نمی کند آن را باید بدین صورت نوشت SELECT table1.fi1,table1.f2,table1.f3,t2.f1,t2.f2 FROM table1 left outer join { SELECT * FROM table 2 where table2.f1 =1 } as t2 on table1.f1 = t2.f1 حتی اگر 10 تا تیبل هم باشد باید بدین روش عمل شود. 1 لینک به دیدگاه
ارسال های توصیه شده