PDA

View Full Version : مشکل در جمع مقادیر دو جدول در view



shakilman
شنبه 11 خرداد 1392, 08:33 صبح
سلام
من یه view دارم که اطلاعات دو جدول رو به شکل زیر داخل خودش داره.

SELECT dbo.Faz1Am.Date AS تاریخ, dbo.Faz1Am.CdR + dbo.Faz1Pm.CdR AS [سی دی], dbo.Faz1Am.DvdManfiR + dbo.Faz1Pm.DvdManfiR AS [دی وی دی منفی],
dbo.Faz1Am.DvdMosbatR + dbo.Faz1Pm.DvdMosbatR AS [دی وی دی مثبت], dbo.Faz1Am.CdPre + dbo.Faz1Pm.CdPre AS [سی دی پری ریکورد],
dbo.Faz1Am.DvdPre + dbo.Faz1Pm.DvdPre AS [دی وی دی پری ریکورد], dbo.Faz1Am.Kam1Count + dbo.Faz1Pm.Kam1Count AS [کمان 1],
dbo.Faz1Am.Kam2Count + dbo.Faz1Pm.Kam2Count AS [کمان 2], dbo.Faz1Am.Kam3Count + dbo.Faz1Pm.Kam3Count AS [کمان 3],
dbo.Faz1Am.Hanky3Count + dbo.Faz1Pm.Hanky3Count AS [هنکی 3], dbo.Faz1Am.Hanky4Count + dbo.Faz1Pm.Hanky4Count AS [هنکی 4],
dbo.Faz1Am.Off1Count + dbo.Faz1Pm.Off1Count AS [آفست 1], dbo.Faz1Am.Off2Count + dbo.Faz1Pm.Off2Count AS [آفست 2],
dbo.Faz1Am.Off3Count + dbo.Faz1Pm.Off3Count AS [آفست 3], dbo.Faz1Am.MetronicCount + dbo.Faz1Pm.MetronicCount AS مترونیک,
dbo.Faz1Am.Kam1Count + dbo.Faz1Am.Kam2Count + dbo.Faz1Am.Kam3Count + dbo.Faz1Pm.Kam1Count + dbo.Faz1Pm.Kam2Count + dbo.Faz1Pm.Kam3Count
+ dbo.Faz1Pm.Hanky3Count + dbo.Faz1Pm.Hanky4Count + dbo.Faz1Am.Hanky3Count + dbo.Faz1Am.Hanky4Count AS [چاپ سیلک],
dbo.Faz1Am.Off1Count + dbo.Faz1Pm.Off1Count + dbo.Faz1Am.Off2Count + dbo.Faz1Pm.Off2Count + dbo.Faz1Am.Off3Count + dbo.Faz1Pm.Off3Count AS
[چاپ آفست]
FROM dbo.Faz1Pm FULL OUTER JOIN
dbo.Faz1Am ON dbo.Faz1Pm.Date = dbo.Faz1Am.Date


قصد من از ارتباط دو جدول گرفتن گزارش از مجموع اطلاعات چند فیلد از دو جدول است بر اساس تاریخ!
حالا مشکل من اینه که اگر یک تاریخ در table1 وجود داشته باشه ولی در table2 اطلاعاتی نداشته باشه خروجی view به صورت null است.
یعنی حاصل مجموع دو فیلد در صورتی که یکی از فیلدها اطلاعاتی در آن ثبت نشده باشد به صورت null نمایش داده می شود.
اگه امکانش هست مساعدت نمایید:لبخندساده:

hramezani
یک شنبه 12 خرداد 1392, 11:46 صبح
باید برای تمام فیلدها به جای نام فیلد از فرمت زیر استفاده کنید:
isnull(field1,0)

به خاطر اینکه وقتی یک فیلد null باشه جمعش با یه فیلد دیگه که مقدار داشته باشه رو null برمیگردونه

Mahmoud.Afrad
یک شنبه 12 خرداد 1392, 15:35 عصر
خاصیت Full Outer Join همینه که همه سطرهای هر دو جدول رو در خروجی میاره و در صورتی که مقدار متناظری وجود نداشته باشه مقادیر رو با null پر میکنه.

به جاش از Inner Join استفاده کنید.