PDA

View Full Version : سوال: در استور پراسیجر شرط در مقدار دهی فیلدها؟



tazarvmmr
دوشنبه 24 آبان 1389, 23:17 عصر
سلام به همه
1 سوال در مورد استور پراسیجر ها: من توی یک استو پراسیجر دوتا فیلد رو از دو تا تیبل کنار هم قرار میدم و یک فیلد جدید میسازم، حالا میخوام بدونم میتونم تو همون استور پراسیجر چک کنم اگر مقدار فیلد جدید null بود با یک فرمول دیگه این فیلد جدیدو مقدار دهی کنه؟
این تمام استور پراسیجر هستش، گاهی اوقات پیش میاد مثلا مقدار فیلد OfficeFullName برابر null میشه میخوام بدونم شدنیه که توی همین پراسیجر دستوری بدم که اگر OfficeFullName برابر null بود اونو جایگزین بکنه با TheOfficeName یا OfficeName؟

کسی تا حالا از این کارا کرده؟



SELECT ProjectRelatedOffices.ProjectNameId, ProjectRelatedOffices.OfficeId, Offices.OfficeName, OfficePositions.OfficePositionCaption,
CustomersPfix.CustomerPfixCaption + ' ' + Offices.OfficeName + N' - ' + OfficePositions.OfficePositionCaption AS OfficeFullName, CustomersPfix.CustomerPfixCaption,
OfficeCaptions.OfficeCaption, CustomersPfix.CustomerPfixCaption + N' ' + Offices.OfficeName AS TheOfficeName, ProjectRelatedOffices.OfficeIsActiveInProject,
Offices.OfficeIsActive
FROM OfficeCaptions RIGHT OUTER JOIN
Offices ON OfficeCaptions.Id = Offices.OfficeCaptionId LEFT OUTER JOIN
CustomersPfix ON Offices.OfficeSuffixId = CustomersPfix.Id RIGHT OUTER JOIN
OfficePositions RIGHT OUTER JOIN
ProjectRelatedOffices ON OfficePositions.Id = ProjectRelatedOffices.OfficePositionInProjectId ON Offices.Id = ProjectRelatedOffices.OfficeId RIGHT OUTER JOIN
ProjectNames ON ProjectRelatedOffices.ProjectNameId = ProjectNames.Id
WHERE (ProjectRelatedOffices.ProjectNameId = @ProjectNameId)

tazarvmmr
سه شنبه 25 آبان 1389, 01:01 صبح
راستی، فراموش کردم بگم، نمیخوام با استفاده از ISNULL یک مقدار ثابت به جاش بگزارم! میخوام مقدار یک فیلد دیکه رو درش قرار بدم

مرسی

Reza_Yarahmadi
سه شنبه 25 آبان 1389, 07:16 صبح
دوست عزيز تابع ISNULL فقط مقدار ثابت نميگيره ، ميتونيد پارامتر دوم رو فيلد مورد نظرتون بذاريد

ISNULL(OfficeFullName , TheOfficeName)

tazarvmmr
سه شنبه 25 آبان 1389, 15:57 عصر
دوست عزيز تابع ISNULL فقط مقدار ثابت نميگيره ، ميتونيد پارامتر دوم رو فيلد مورد نظرتون بذاريد

ISNULL(OfficeFullName , TheOfficeName)

من الان دوباره چک میکنم! ولی قبلا تین کارو کردم ارور داد!