ورود

View Full Version : مانده کل به صورت کوئری یا فیلد محاسباتی



Borland-Delphi7
جمعه 30 فروردین 1387, 17:30 عصر
سلام
فیلد های من
bed
bes
date
id(identity

من می خواهم مانده کل را به صورت query بدست آورم فیلد های من از نوع bigint است


جواب این سئوالو من تو سایت سرچ کردم کسی جواب درستی نداده

در ضمن اگر به صورت فیلد های محاسباتی هم کسی بلده کارمو را میندازه

SYNDROME
جمعه 30 فروردین 1387, 21:44 عصر
سلام
فیلد های من
bed
bes
date
id(identity
من می خواهم مانده کل را به صورت query بدست آورم فیلد های من از نوع bigint است
جواب این سئوالو من تو سایت سرچ کردم کسی جواب درستی نداده
در ضمن اگر به صورت فیلد های محاسباتی هم کسی بلده کارمو را میندازه
می توانید برای مانده هر خط این کار را بکنید.


Select (Case When bed-bes>0 Then Bed-Bes Else 0 End) As Bed,(Case When bes-bed>0 Then Bes-Bed Else 0 End) As Bes
From Tbl_Test

موفق باشید

Amir_Safideh
جمعه 30 فروردین 1387, 22:47 عصر
من می خواهم مانده کل را به صورت query بدست آورم فیلد های من از نوع bigint است اگر منظورتون از مانده کل همون فیلد مانده حسابه به این صورت میتونید محاسبه کنید :

Select Bed,Bes,(Select Sum(Bed)-Sum(Bes) From Table1 TInner Where TInner.ID <= TOuter.ID)
From Table1 TOuter
Order By Date

---------------
موفق باشید .

Borland-Delphi7
جمعه 30 فروردین 1387, 22:52 عصر
ممنون از آSYNDROME
ولی جواب من این نبود مانده کل = بدهکار-بستانکار + بدهکار سطر بعد +بستانکار سطر بعد
به این صورت تا پائین

Borland-Delphi7
جمعه 30 فروردین 1387, 22:57 عصر
اگر منظورتون از مانده کل همون فیلد مانده حسابه به این صورت میتونید محاسبه کنید :

Select Bed,Bes,(Select Sum(Bed)-Sum(Bes) From Table1 TInner Where TInner.ID <= TOuter.ID)
From Table1 TOuter
Order By Date

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

SYNDROME
شنبه 31 فروردین 1387, 07:52 صبح
پس دوست عزیز شما مانده در خط را می خواهید.



Select Bed,Bes,(Select Sum(Bed)-Sum(Bes) From Table1 TInner Where TInner.ID <= TOuter.ID)
From Table1 TOuter
Order By Date


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


Sum(Bed)-Sum(Bes)

Case را که در بالا نوشتم قرار دهید.
موفق باشید

Borland-Delphi7
شنبه 31 فروردین 1387, 08:24 صبح
کد زیر یک مشکلی دارد اگر Bes بزگتر از بعد باشد نتیجه منفی می شود و در ضمن شما در یک ستون نمی توانید نتیجه را نمایش دهید و باید در دو ستون مانده بدهکار و مانده بساکار نمایش دهید.


ممنونم دوست گرامی اگر امکان داره یک مثال عددی بزنید آخه من در صندوق چنین چیزی با آن query ندیدم
اگر جواب ok بود case شما را در select جدول TInner قبل از sums بزارم