[ad_1]
श्री रिचर्ड डेमिंग को धन्यवाद (
@RichardDeeming
) मुझे दो तालिकाओं के योग का समाधान देने के लिए।
हालाँकि, मेरे पास एक तालिका है जिसमें एक कॉलम घटा है, यहाँ मुझे इसे हल करने का प्रयास करना होगा।
तालिका एक “एजेंट”
नाम पैसा
अहमद 600
तालिका दो “निर्यात”
कोई दिनांक नाम पैसा नहीं
1 25-1-2023 Ahemd 700
2 30-6-2023 खालिद 800
3 10-7-2023 अहमद 200
4 30-11-2023 अहमद 100
तालिका तीन “भुगतान”
कोई दिनांक नाम पैसा नहीं
1 25-2-2023 Ahemd 300
2 30-7-2023 खालिद 800
3 15-8-2023 अहमद 300
4 25-12-2023 अहमद 400
मैं तालिका को इस तरह प्रदर्शित करना चाहता हूं:
|नहीं | दिनांक | नाम | कुल | निर्यात | भुगतान | शेष पैसा
|—|—||——|——-|——–|— ——|———————-
| 0 | — | अहमद | 600 | 0 | 0 | 600
| 1 | 25-1-2023 | अहमद | 600 | 700 | 0 | 1300
| 1 | 25-2-2023 | अहमद | 1300 | 0 | 300 | 1000
| 3 | 10-7-2023 | अहमद | 1000 | 200 | 0 | 1200
| 3 | 15-8-2023 | अहमद | 1200 | 0 | 300 | 900
| 4 | 30-11-2023 | अहमद | 900 | 100 | 0 | 1000
| 4 | 25-12-2023 | अहमद | 1000 | 0 | 400 | 600
मैंने क्या प्रयास किया है:
श्रीमान रिचर्ड डेमिंग दो तालिकाओं के योग के लिए समाधान
WITH cteSource As ( SELECT 0 As No, Name, Money FROM TableOne UNION ALL SELECT No, Name, Money FROM TableTwo As T2 WHERE Exists ( SELECT 1 FROM TableOne As T1 WHERE T1.Name = T2.Name ) ) SELECT No, Name, Money, SUM(Money) OVER (PARTITION BY Name ORDER BY No ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) As TotalMoney FROM cteSource ;
समाधान 1
धन्यवाद दोस्तों, विशेष रूप से
Mr. Rechard Demming
हालाँकि, मुझे एक और समाधान मिल गया।
कुछ अन्य तालिका और कॉलम जोड़ने के बाद मैंने कोड के माध्यम से अपनी समस्या हल कर ली है:
WITH NEWTABLE AS ( SELECT 0 As No, D AS DATE, N, OD AS MONEY, 0 AS Export, 0 AS Payment, '' AS NT FROM TBL_A UNION ALL SELECT INo As No, D AS DATE, N, 0 AS MONEY, T AS Export, 0 AS Payment, 'صادر' AS NT FROM TBL_E_I As T2 WHERE Exists ( SELECT 1 FROM TBL_A As T1 WHERE T1.N = T2.N ) UNION ALL SELECT No AS No, D AS DATE, N, 0 AS MONEY, 0 AS Export, PD AS Payment, 'دفع' AS NT FROM TBL_A_P AS T3 WHERE Exists ( SELECT 1 FROM TBL_A As T1 WHERE T1.N = T3.N ) ) SELECT No AS 'ت', CAST(DATE AS DATE) AS 'التاريخ', N AS 'اسم', FORMAT(Money, 'G29') AS 'القديم', FORMAT(Export, 'G29') AS 'الصادر', FORMAT(Payment, 'G29') AS 'المدفوع', SUM((MONEY + Export) - Payment) OVER (PARTITION BY N ORDER BY DATE ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) As 'المتبقي', NT AS 'ملاحظات' FROM NEWTABLE WHERE N = N'كريمينيا' ORDER BY DATE ASC ;
कोई दिनांक नहीं नाम पुराना निर्यात भुगतान शेष धन नोट
नोट शेष भुगतान निवर्तमान पुराना नाम दिनांक टी
No Date Name Total Export Payment RemaindMoney ملاحظات المتبقي المدفوع الصادر القديم الاسم التاريخ ت 0 25-1-2023 Ahmed 600 0 0 600 قديم 1 25-1-2023 Ahmed 0 700 0 1300 صادر 1 25-2-2023 Ahmed 0 0 300 1000 دفع 3 10-7-2023 Ahmed 0 200 0 1200 صادر 3 15-8-2023 Ahmed 0 0 300 900 دفع 4 30-11-2023 Ahmed 0 100 0 1000 صادر 4 25-12-2023 Ahmed 0 0 400 600 دفع
क्या कोई मुझे इस तरह का समाधान पाने में मदद कर सकता है:
No Date Name Money Export Payment RemaindMoney ملاحظات المتبقي المدفوع الصادر القديم الاسم التاريخ ت 0 25-1-2023 Ahmed 600 0 0 600 قديم 1 25-1-2023 Ahmed 0 700 0 1300 صادر 1 25-2-2023 Ahmed 0 0 300 1000 دفع 3 10-7-2023 Ahmed 0 200 0 1200 صادر 3 15-8-2023 Ahmed 0 0 300 900 دفع 4 30-11-2023 Ahmed 0 100 0 1000 صادر 4 25-12-2023 Ahmed 0 0 400 600 دفع
[ad_2]
コメント