رفتن به مطلب

مشکل در LEFT outer Join


jaleel

ارسال های توصیه شده

با سلام بر همگی

 

من باید از چهار table در اسکوئل 2005 گزارش بگیرم ولی هنگامی که این چهار تیبل را با left join به هم متصل می کنم رکوردها را چندبار نمایش می دهد و باعث می شود که سرجمع های تعداد رکورد و مجموع ارقام اشتباه شود برای نمونه یک ریال اضافی کردن باعث می شود که گاهی 4 ریال اضافی نشان دهد. چه کنم ؟ که رکوردهای اضافی نشان داده نشود

با DISTINCT همه نمی شود کاری کرد یعنی باز هم رکورد اضافی نشان می دهد .

لینک به دیدگاه
  • 3 هفته بعد...

راه حل :

چون تیبل دوم و سوم دارای رکورد های تکراری هست دچار این مشکل شده بودیم

مثلا

 

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 تا تیبل هم باشد باید بدین روش عمل شود.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...