گزارشگیری از سه جدول در یک SELECT با LEFT OUTER JOIN

بپرسید

0

{{ digitTrunc(content.likes) }}

باسلام و احترام خدمت دوستان عزیز ، من یک جدول به نام I دارم که لیست کلیه مشتریان می باشد و دارای فیلد های Cod و FullName و Tell و City هست که در این جدول فیلد Cod کلید اصلی می باشد. یک جدول دیگر به نام T دارم که در آن خدماتی که برای مشتری انجام شده ثبت می شود و دارای فیلد های Id و CodI و Name و sharh هست. یک جدول دیگری به نام A نیز وجود دارد که شامل لیست انبار قطعات هست و دارای فیلدهای Sn و NameGheteh و Fi هست. یک جدول دیگری به نام L نیز وجود دارد که اطلاعات مشتریانی که قطعه ای را خریداری کرده اند در آن ثبت می شود و دارای فیلدهای Cod و NameVasileh و CodI و SnA که فیلد CodI کلید خارجی Cod در جدول I و فیلد SnA کلید خارج Sn در جدول A می باشد.

در اصل جداول I و A و T و L به صورت زیر باشد

گزارش از سه جدول در یک دستور Select در SQL Server با استفاده از LEFT OUTER JOIN

و نتیجه خروجی نیز به صورت زیر می باشد

گزارش از سه جدول در یک دستور Select در SQL Server با استفاده از LEFT OUTER JOIN

من در SQL Server کد را به صورت زیر می نویسم

SELECT dbo.I.Cod, dbo.I.FullName, COUNT(dbo.T.CodI) AS Tamirat, COUNT(dbo.L.SnA) AS Ghataat, SUM(dbo.A.Fi) AS FullFi
FROM     dbo.A INNER JOIN
                  dbo.L ON dbo.A.Sn = dbo.L.SnA LEFT OUTER JOIN
                  dbo.I ON dbo.I.Cod = dbo.L.CodI LEFT OUTER JOIN
                  dbo.T ON dbo.I.Cod = dbo.T.CodI
GROUP BY dbo.I.Cod, dbo.I.FullName

مشتری به نام رضا یک تعمیری داشته ولی در خروجی 2 تعمیری نمایش داده می شود ونیز مشتری به نام علی یک قطعه به مبلغ 20000 ولی در خروجی 2 قطعه و به مبلغ 40000 نمایش می دهد. علت چیست و برای حل این موضوع چکار باید کرد؟

باتشکر از راهنمایی شما دوستان عزیز

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است