PDA

View Full Version : سوال: استفاده از فیلد ترکیبی در Where



YourWorldToday
چهارشنبه 25 شهریور 1388, 18:29 عصر
با سلام خدمت دوستان گرامی من یه تیبل دارم با فیلد ها از فیبل نام ، نام خانوادگی، شماره شناسنامه، کد ملی، و ...

من می خوام زمانی که سلکت انجام بشه دو فیلد نام و نام خانوادگی در یک فیلد نمایش داده بشه. برای این کار این دستور رو نوشتم



SELECT ClerkID, ClerkNumber, FirstName + ' ' + LastName AS FullName, NationalCode, TellNumber, StatusWork
FROM Clerks


حالا زمانی که بخوام یه شرط قرار بده شبیه به این



SELECT ClerkID, ClerkNumber, FirstName + ' ' + LastName AS FullName, NationalCode, TellNumber, StatusWork
FROM Clerks
WHERE (FullName = @FullName)


خطا میده.
لطفا راهنمایی بفرمایید که چطور میشه مشکل رو رفع کرد
با تشکر

محمد سلیم آبادی
چهارشنبه 25 شهریور 1388, 18:44 عصر
SELECT *
FROM
(
SELECT ClerkID,
ClerkNumber,
FirstName + ' ' + LastName AS FullName,
NationalCode,
TellNumber,
StatusWork
FROM Clerks
)D
WHERE (FullName = @FullName)

محمد سلیم آبادی
چهارشنبه 25 شهریور 1388, 18:58 عصر
یا:



;WITH t
AS
(
SELECT ClerkID,
ClerkNumber,
FirstName + ' ' + LastName AS FullName,
NationalCode,
TellNumber,
StatusWork
FROM Clerks
)
SELECT * FROM t
WHERE (FullName = @FullName)

AminSobati
پنج شنبه 26 شهریور 1388, 22:44 عصر
دوست عزیزم،
مشکل اینجاست که در دستورات SQL، از لحاظ منطقی قسمت جلوی SELECT بعد از WHERE ارزیابی میشه. لذا نام مستعاری که جلوی SELECT تعریف کردین، هنوز در WHERE شناخته نمیشه. اما همون نام رو در ORDER BY میشه استفاده کرد چون این بخش بعد از SELECT و DISTINCT و قبل از TOP ارزیابی میشه