PDA

View Full Version : بدست آوردن مانده در برنامه مالی



Reza Safa
چهارشنبه 27 دی 1391, 11:26 صبح
سلام
می خواستم بدونم چطور کوئریزیر را بنویسم در sql server
من باید بدهکار را منهای بستانکار کرده و نتیجه را منهای مانده رکورد قبل کنم
چطور این کوئری را بنویسم
بدهکار - بستانکار - مانده (نام ستونها)
ممنون میشم راهنماییم کنید

fakhravari
جمعه 29 دی 1391, 15:22 عصر
ساختار جدولت بزار تا بهتر بشه راهنمایی کردو
جوری که پیداست 3 تا select باید بگیری

Reza Safa
جمعه 29 دی 1391, 19:40 عصر
ممنون که پاسخ دادی
من باید اختلاف دو ستون در هر ردیف (بدهکار و بستانکار) را از مانده ردیف قبلی کم کنم و در ردیف جاری قرار بگیرد و به همین شکل ادامه دارد
من با کد نویس ویبی انجام میدم اما می خواهم با sql بنویسم

محمد سلیم آبادی
شنبه 30 دی 1391, 08:58 صبح
مشکلتون رو روی یک نمونه داده شرح بدین با مثال.
با نسخه چند SQL Server دارین کار می کنید؟ 2012 ؟

Reza Safa
شنبه 30 دی 1391, 12:12 عصر
بخدا دیگه نمی دونم چطور بگذارم تر بخدا کمک کنید
نام ستونها به ترتیب برابر ست با
ردیف/ شماره حساب /نام حساب/ شرح / بدهکار/ بستانکار / مانده
ستون بستانکار باید از ستون بدهکار کم شود و نتیجه باید ار مانده رکورد قبلی کم شود و در مانده ردیق جاری قرار گیرد

Salah Sanjabian
شنبه 30 دی 1391, 12:27 عصر
سلام دوست عزیز . اینو امتحان کن فکر کنم درست باشه . بدهکار (Deptor) بستانکار (Creditor) تو جدول من تعریف شده . همچنین باید ID به صورت صعودی درجدولت ثبت شده باشه




SELECT *, Deptor- Creditor -
(
SELECT Deptor-Creditor FROM tblSample AS T2
WHERE ID=(
SELECT MAX(ID) FROM tblSample AS T3 WHERE T3.ID<T1.ID
)
) FROM tblSample AS T1

محمد سلیم آبادی
شنبه 30 دی 1391, 13:06 عصر
اینجا (http://barnamenevis.org/showthread.php?186218-%D9%86%D8%AD%D9%88%D9%87-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D9%81%D9%8A%D9%84%D8%AF-%D9%82%D9%8A%D9%85%D8%AA-%D9%85%D9%8A%D8%A7%D9%86%DA%AF%D9%8A%D9%86)رو ببینید مساله مطرح شده شباهت داره با مشکل شما

اینم راهنمایی در حد توضیحات شما:
;with cte as
(
select mande,... from t where id = 1
union all
select c.mande - (t.bedeh - t.bes) as mande,...
from cte c
join table_name t
c.id = t.id - 1
)
select * from cte

mohsen.net
شنبه 30 دی 1391, 17:51 عصر
SELECT Bedehkar-Bestankar -(Select TOP 1 t2.Bedehkar-t2.Bestankar FROM MyTable t2 WHERE t2.ID<t1.ID ORDER BY t2.ID)
FROM MyTable AS t1

این هم یک راه