عمل تفریق در دستور Select - SQL
سلام خدمت شما عزیزان!
من داخل برنامه ام یک متغیر تعریف کردم که لازم دارم با یکی از ستون های جداولم مقایسه بشه.
به این شکل که برنامه مقدار اون ستون رو به ازای هر رکوردِ جدول، از متغیر کم کنه (عمل تفریق) و اگر (به عنوان مثال) حاصل عدد 2 شد، اون رکورد رو نمایش بده.
اگر لطف بفرمایید روش این کار رو به بنده انتقال بدید ممنون میشم.
امیدوارم موضوع رو واضح به عرضتون رسونده باشم.
سپاس
4 پاسخ
با فرض اینکه f فیلدی از جدول باشه که قرار هست مقایسه بشه و x@ هم ثابت ورودی هست
SELECT f FROM tbl WHERE (f-@x)=2
دو راه دارید :
1- اینکه اول همه رکوردهای SQL رو بگیرید و بعد در loop برید و اگر هر حط نتیجه اش 2 شد اون رو یک جوری که می دونید نمایش بدید
while (reader.read())
{
if(Convert.ToInt32(reader[0].ToString()) - Variable ==2 )
DisplayResult();
}
2- راه ذوم اینکه متغیر رو به عتوان پارامتر به StoredProcedure در SQL بدین و از اول همه خط هایی که نتیجه شون 2 میشه رو بگیرین و همه رو نشون بدین
فکر کنم راه اول برای شما ساده تر باشه.
بله ، درست می فرمایید ، من هم فقط به خاطر سادگیش گفتم ، البته راه شما فکر کنم بسیار ساده تر و مفید بود .
جناب مهندس aliaghamiri راه اول اصولی نیست چون زمان و حافظه زیادی صرف می کنه البته شاید برای برنامه های ساده اصلا احساس نشه اما بهتره همیشه انتخاب اصولی رو یاد بگیریم تا انشالله زمانی که میخوایم روی یک پروژه بزرگ کار کنیم برنامه خوبی تولید کنیم.