نوشته شده توسط
mrbm_2007
سلام
آخه این الان سوال بود یا سفارش کار؟؟؟؟
سوال یعنی اینکه شما یا در مورد معماری کلی یا استراتژی برنامه سوالی بپرسید یا اینکه خودتون کدی نوشتی و حالا یه قسمت مشخص مشکل دارید و می پرسید
نه اینکه بگید من فلان پروژه رو می خوام انجام بدم چیکار کنم!!!!
اینجوری جواب درستی هم نخواهید گرفت
با سلام خدمت دوست گرامی
از اینکه نظرتون رو گذاشتید تشکر میکنم
ولی چند نکته کوچیک
درمورد اینکه سوال مشکل داره عنوان تاپیک چالش هست نه سوال!!!
حالا با وجود این ها طبق فرضیه گفته شده ببین میتونی راهی پیدا کنی تا جدول بالا را درست کنی؟
اصولا موقعی که میخان دیتا بیس را طراحی کنن مقدار بدهکار و بستانکار را در یک جدول میگذارن.
ولی من کمی متفاوت کردم و یکم به قول معروف لقمه را دور چرخوندم.
ولی اینم یه جورش هست
برنامه نویس باید بتون حل بکنه یا نه
خودم به این نتیجه رسیدم که باید دو جدول سرمایه و برداشت سرمایه را باهم جمع کنم تا یه جدول به وجود بیاد
یعنی چی
یعنی از جدول سرمایه همه ستون ها را انتخاب میکنم و یه ستون دیگه هم با عنوان ستون بستانکار در نظر میگیرم حالا مقدارش چی میشه؟؟؟ مقدارش مقدار ستون بدهکار منهای ستون بدهکار تا صفر در ستون جدید که خودمون درست کردیمثبت بشه.
دقیقا برای جدول برداشت سرمایه هم همین طور
یعنی چی
یعنی این بار همه ستون ها ولی ستون مربوط به مبلغ این جدول را زود تر صفر میکنیم بعد مقدار مبلغ را در ستون بعدی که جدید هست وارد می کنیم.
(SELECT M.ShomareHesab, P.IDTakhsisVam, P.sahrh, P.Tarikh, P.MablagGhest AS [بستانکار],P.MablagGhest-P.MablagGhest As[بدهکار]
FROM dbo.tbl_Moshtari AS M INNER JOIN
dbo.tbl_Pardakhtghst AS P ON M.IDMoshtati = P.IDMoshtati
where M.ShomareHesab=123
GROUP BY M.ShomareHesab, P.IDTakhsisVam, P.MablagGhest, P.Tarikh, P.sahrh)
union(
SELECT M.ShomareHesab, V.IDMoshtati, V.Shrh, V.Tarikf, V.MablghVariz,V.MablghBardasht
FROM dbo.tbl_FrmVaAndBar AS V INNER JOIN
dbo.tbl_Moshtari AS M ON V.IDMoshtati = M.IDMoshtati
where M.ShomareHesab=123 )
union
(SELECT M.ShomareHesab, TSV.IDTakhsisVam, TV.NameVam, TSV.TarikhDaryaftVam, TV.MablghKol-TV.MablghKol,TV.MablghKol
FROM dbo.tbl_TakhsisVam AS TSV INNER JOIN
dbo.tbl_TarifVam AS TV ON TSV.IDVam = TV.IDVam INNER JOIN
dbo.tbl_Moshtari AS M ON TSV.IDMoshtati = M.IDMoshtati
where M.ShomareHesab=123 )
حالا شما فک کنید که چطوری میشه این پروسیجری که ساختیم را بیارم داخل سی شارپ و ازش استفاده کنم و اونجا ستون مانده برا هر ستون را بهش اضافه کنم و این مانده تاثیر بزاری بر ستون بعدی برا مانده گیری و در نهایت هم جمع کل