PDA

View Full Version : فهمیدن صفر شدن اقساط وام



sg.programmer
جمعه 13 اسفند 1395, 11:27 صبح
سلام
من یک جدول وام دارم
یک جدول هم برای پرداختی ها دارم که با شماره حساب به هم مرتبط هستند.

چطور میشه در یک کوئری مبلغ صفر شدن وام و یا مانده وام را تشخیص داد (برای تمام افراد در یک جدول نشون بده)

شماره حساب | نام مشتری | مبلغ کل وام | مبلغ کل پرداختی | مانده وام |
-----------------------------------------------------------------------------------
123 | حسینی | 1000000 | 5000000 | 500000 |
-----------------------------------------------------------------------------------
111 | محمدی | 5000000 | 5000000 | 0 |
-----------------------------------------------------------------------------------
193 | محسنیان | 1000000 | 5000000 | 500000 |

En_MK
شنبه 14 اسفند 1395, 15:49 عصر
کلیت به این شکله:





SELECT col1,col2,SUM(col2) FROM
TABLE_A a JOIN TABLE_B b
ON b.id= a.id
Where Col1-Sum(Col2)=0
GROUP BY col1,col2

sg.programmer
شنبه 14 اسفند 1395, 18:30 عصر
مهندس در دو جدول جدا از هم هستند.

Mahmoud.Afrad
یک شنبه 15 اسفند 1395, 02:09 صبح
از جدول پرداختی ها سلکت بزنید و مجموع پرداختی ها را به ازای هر وام بدست بیارید(بایست براساس شماره حساب گروهبندی کنید و همچنین روی فیلد مبلغ sum )
نتیجه سلکت بالا را با جدول وام join کنید و مجموع مبلغ پرداختی رو از مبلغ وام کم کنید تا مانده رو بهتون بده.

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

sg.programmer
یک شنبه 15 اسفند 1395, 18:46 عصر
سلام
تشکر مهندس
SELECT ShomareHesab
,[Bedehkar]

FROM [Hesab]
group by ShomareHesab,[Bedehkar]

ShomareHesab Bedehkar
9004100 0
9004100 500
9004100 1333
9004100 44485
9004101 0
9004102 15
9004102 20000

خروجی بدین صورت شد. و نتونستم join کنم

Mahmoud.Afrad
یک شنبه 15 اسفند 1395, 19:18 عصر
اسکریپت دو جدول رو بزارید.

sg.programmer
یک شنبه 15 اسفند 1395, 21:33 عصر
تشکر مهندس از کمکتون
این جدول پرداخت وام هست


SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Hesab](
[idHesab] [int] IDENTITY(1,1) NOT NULL,
[ShomareHesab] [int] NULL,

[idPersonal] [int] NULL,
[Bestankar] [int] NULL,

[Date] [nvarchar](200) NULL,

CONSTRAINT [PK_Hesab] PRIMARY KEY CLUSTERED
(
[idHesab] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO





این جدول مبلغ وامم هست


SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Vam](
[idVam] [int] IDENTITY(1,1) NOT NULL,
[ShomareHesab] [int] NULL,
[Name] [nvarchar](200) NULL,
[Mablagh] [int] NULL,
[NoGhest] [int] NULL,
[PriceGhest] [int] NULL,
[StartDate] [nvarchar](500) NULL,
[EndDate] [nvarchar](500) NULL,
[Comment] [ntext] NULL,
CONSTRAINT [PK_Vam] PRIMARY KEY CLUSTERED
(
[idVam] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

Mahmoud.Afrad
چهارشنبه 18 اسفند 1395, 20:35 عصر
with cte
as
(
select vam.idVam,
Sum(hesab.Bestankar) as JameBestankar
from vam join hesab on hesab.ShomareHesab = vam.ShomareHesab
group by vam.idVam
)
select vam.idVam,
vam.mablagh,
cte.JameBestankar,
vam.mablagh - cte.JameBestankar as Mande
-- , other columns
from cte join vam on vam.idVam = cte.idVam