PDA

View Full Version : سوال: جمع مقادیر یک ستون و ارسال به یک TABLEدیگه



asefy2008
شنبه 10 مرداد 1388, 13:40 عصر
با سلام
من دو تا table دارم می خوام تمام مقادیر یک ستون رو جمع بزنم و به ستون table دیگه بفرستم( براساس یک استرینگ که از کاربر می گیره تمام رکورد هایی که تو اون string باهم یکسان هستند ستون مربوط به قیمتشون باهم جمع میشه و برای ستون مورد نظر از table دوم فرستاده میشه.)
برای انجام این کار از این کد استفاده می کنم:


SELECT SUM(all_Report.[قیمت کل]) AS [فروش روزانه]
FROM all_Report CROSS JOIN
Result_day
WHERE (all_Report.تاریخ = @تاریخ)

حالا من اگر از JOIN استفاده نکنم که مشکلی ندارم این دستور جواب میده ولی وقتی از JOIN استفاده می کنم و بعد از کلمه AS ستون فروش روزانه رو قرار میدم که از table دوم است خروجی نمیده،راه حل چی هست؟

بهنام بهمنی
شنبه 10 مرداد 1388, 15:54 عصر
قبل از Select یک دستور insert into به صورت زیر اضافه کن



insert into tbl2(Date1,Sum1) select ...

asefy2008
شنبه 10 مرداد 1388, 18:08 عصر
یه مشکل دیگه در مورد همین قسمت برام پیش اومد این که وقتی تاریخ رو براش می فرستم کار رو انجام نمیده(بهتر بگم،وقتی تاریخ رو با یه سری فاصله براش می فرستم درست کار می کنه .)در این مورد چه باید کرد؟
یه سوال دیگه این که چطور می تونم براساس یه قسمت از یک رشته که اون قسمت توسط کاربر فرستاده میشه فیلد های مورد نظر رو پیدا کنم؟(در واقع می خوام از دستور LIKE و دو تا % استفاده کنم با این تفاوت که رشته میان دو تا % رو از کاربر بگیرم.)
دوستان من پایگاه نداشتم ممکنه نتونسته باشم خوب توضیح بدم

بهنام بهمنی
شنبه 10 مرداد 1388, 19:11 عصر
شما می توانید از دستوراتی مانند between و یا >,< , ... اسفاده کنید - همچنین در لینک زیر توابع کار با رشته ها آمده است:
http://msdn.microsoft.com/en-us/library/ms181984.aspx

asefy2008
شنبه 10 مرداد 1388, 19:29 عصر
دوست من، مشکل من این هست که من در تکست باکس فارسی می نویسم ولی وقتی داره میره برای کویری، انگلسیش میره، چه باید کارد؟(تاریخ رو می فرستم.اعداد انگلیسی میشه):گیج:

asefy2008
شنبه 10 مرداد 1388, 21:05 عصر
قسمت آخر مشکلم اصلا ربطی به این تالار نداشت ولی راه حل رو می گم،من تاریخ رو با کد اسکی فارسی در دیتابیس ذخیره می کردم و وقت جست وجو دچار مشکل می شدم و با این قطعه کد مشکل رو رفع کردم:



char[] myCharArrayOfDate = SaleDaytextBox.Text.ToCharArray();
for (int i = 0; i < myCharArrayOfDate.Length; i++)
{
if (myCharArrayOfDate[i] >= 0x30 && myCharArrayOfDate[i] < 0x3A)
{
myCharArrayOfDate[i] = Convert.ToChar(myCharArrayOfDate[i] + 0x660 - 0x30);
}
}
string myPersianDateInFarsiCharacters = "";
for (int i = 0; i < myCharArrayOfDate.Length; i++)
{
myPersianDateInFarsiCharacters += myCharArrayOfDate[i].ToString();
}