PDA

View Full Version : سوال: نمايش null در query



sqlking
دوشنبه 24 آبان 1389, 17:53 عصر
سلام
در يك query تعداد يك ستون را ميخواهم بدست آورم با select زير:



SELECT tbl_Ostan.Ostan_NameFA AS 'ostan', fnSelectBrand_1.[BRAND NAME], COUNT(DISTINCT tbl_TechnicalReports.[CUSTOMER INVOICE NO]) AS 'sum'
FROM tbl_TechnicalReports INNER JOIN
tbl_Ostan ON SUBSTRING(tbl_TechnicalReports.[ASC CODE], 3, 2) = tbl_Ostan.Ostan_ID left JOIN
dbo.fnSelectBrand('5') AS fnSelectBrand_1 ON tbl_TechnicalReports.[BRAND CODE] = fnSelectBrand_1.[BRAND CODE]
WHERE (tbl_TechnicalReports.[SERVICE PLACE CODE] = 3) AND (tbl_TechnicalReports.[RECIPT OVER DATE] >= '85/01/01') AND
(tbl_TechnicalReports.[RECIPT OVER DATE] <= '90/01/31') AND (tbl_TechnicalReports.[BRAND CODE] IN (5))
GROUP BY tbl_Ostan.Ostan_NameFA, fnSelectBrand_1.[BRAND NAME]



اما بعضي برندهاكه تعداد آن 0 است بطور كامل حذف مي شود در صورتي كه نياز دارم برند نمايش داده شده و مقدار صفر را نشان دهد .از isnull هم استفاده كردم جواب نداد.

Reza_Yarahmadi
دوشنبه 24 آبان 1389, 18:56 عصر
دوست عزیز اولا کدهای خودتون رو توی تگ Code بذارید ، ثانیا یه کد گذاشتید و بدون هیچ توضیحی در مورد ساختار جداول و یا کار توابع استفاده شده میگید میخوام فلان کار رو انجام بدم؟ راستش هیچ کدوم از بچه های این سایت از عالم غیب خبر ندارند!! :چشمک: :قلب:
این چیزی که میگم فقط بر اساس حدس خودم هست اگر لطف کنید کاملتر توضیح بدید بهتر میشه کمکتون کرد.
قبل از دستورات کد زیر رو بنویسید

Set ANSI_NULLS Off
در زمان جستجو هم برای فیلد مورد نظرتون از دستور زیر استفاده کنید

ISNULL(FieldName, 0)

Rezahak
سه شنبه 25 آبان 1389, 09:27 صبح
سلام
فكر مي كنم اگر به جاي inner join از left outer join استفاده كنيد مشكل حل شود فقط دقت كنيد كه سمت چپ join جدول برندها آورده شود