PDA

View Full Version : ایجاد Select بین 2 جدول و شرط نابرابری 2 فیلد Nvarchar با یکدیگر



mehdin69
سه شنبه 21 تیر 1390, 15:06 عصر
سلام دوستان من 2 تا جدول دارم دستور زیر اومدم خانه هایی که با هم برابرن رو بیرون کشیدم حالا می خوام فیلدهایی که با هم برابر نیستند رو بیرون بکشم...
اما مسئاله اینه که قبل یکی از فیلدهای جدول دوم 3 تا Space زیادی هست و برای همینم توی شرط برابر بودن از دستور Like استفاده کردم

کمک لطفاً

:گریه::لبخندساده:



SELECT *,*
FROM Export INNER JOIN
Payment ON Export.ReferenceNum LIKE '%' + Payment.UniNumber + '%'


حالا چکار کنم که این دستور همین 2 فیلد رو در صورت نا برابر بودن بهم نشون بده...
مرسی:متفکر:

Reza_Yarahmadi
سه شنبه 21 تیر 1390, 17:49 عصر
من که متوجه سوالتون نشدم ولی حدس میزنم شما میخواید دستوری بنویسید که برابری 2 فیلد رو بدون در نظر گرفتن Space های قبل و بعد فیلد محاسبه کنه.
در صورت درست بودن حدسم بصورت زیر عمل کنید در غیر اینصورت بیشتر توضیح بدید.
SELECT *
FROM
Export E INNER JOIN Payment P
ON
LTRIM(RTRIM(E.ReferenceNum)) = LTRIM(RTRIM(P.UniNumber))

mehdin69
سه شنبه 21 تیر 1390, 17:55 عصر
حالا اگه توی ReferenceNum قبل از شروع هر رکورد یه کلمه 0 نسبت به UniNumber بیشتر داشته باشه و نخوام اون رو در نظر بگیره باید چکار کنم؟

یوسف زالی
سه شنبه 21 تیر 1390, 17:59 عصر
سلام.
در حالت کلی با SubString رشته رو از هرجا تا هر جا که می خواهید می تونید مقایسه کنید با یه رشته دیگه.
در این خصوص تحقیق کنید تو همین سایت.

Reza_Yarahmadi
سه شنبه 21 تیر 1390, 18:22 عصر
غیر از روش دوستمون در صورتی که مقدار داخل این فیلدهای عددی است میشه با تبدیل رشته به عدد ، 0 رو حذف کرد
Cast(LTRIM(RTRIM(E.ReferenceNum)) as INT) = Cast(LTRIM(RTRIM(P.UniNumber)) as INT)