<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: SQL Puzzle: SQL Advance Query &#8211; To generate the account balance column for Bank Accounts	</title>
	<atom:link href="https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Mon, 25 May 2020 03:25:56 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>
		By: Anand Kumar		</title>
		<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/#comment-8305</link>

		<dc:creator><![CDATA[Anand Kumar]]></dc:creator>
		<pubDate>Mon, 25 May 2020 03:25:56 +0000</pubDate>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5860#comment-8305</guid>

					<description><![CDATA[Is it possible to get a blank line after change in accname ?]]></description>
			<content:encoded><![CDATA[<p>Is it possible to get a blank line after change in accname ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Samrat		</title>
		<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/#comment-7837</link>

		<dc:creator><![CDATA[Samrat]]></dc:creator>
		<pubDate>Thu, 24 Oct 2019 07:45:25 +0000</pubDate>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5860#comment-7837</guid>

					<description><![CDATA[SELECT  * ,
        SUM(CASE WHEN TYPE = &#039;DB&#039; THEN Amount*-1 ELSE Amount END) OVER (PARTITION BY AccName ORDER BY AccName,TransactionDate ) AS BALANCE
FROM    dbo.ACCOUNTBALANCE]]></description>
			<content:encoded><![CDATA[<p>SELECT  * ,<br />
        SUM(CASE WHEN TYPE = &#8216;DB&#8217; THEN Amount*-1 ELSE Amount END) OVER (PARTITION BY AccName ORDER BY AccName,TransactionDate ) AS BALANCE<br />
FROM    dbo.ACCOUNTBALANCE</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sai Nath		</title>
		<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/#comment-7653</link>

		<dc:creator><![CDATA[Sai Nath]]></dc:creator>
		<pubDate>Sun, 11 Aug 2019 07:18:24 +0000</pubDate>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5860#comment-7653</guid>

					<description><![CDATA[; WITH CTE AS 
(
	SELECT
		*,
		ROW_NUMBER() OVER(PARTITION BY ACCNAME ORDER BY (SELECT 1)) AS RW
	FROM
		AccountBalance
)

SELECT
	*,
	SUM(CASE WHEN TYPE = &#039;DB&#039; THEN -AMOUNT ELSE AMOUNT END) OVER(PARTITION BY ACCNAME ORDER BY RW)
FROM
	CTE]]></description>
			<content:encoded><![CDATA[<p>; WITH CTE AS<br />
(<br />
	SELECT<br />
		*,<br />
		ROW_NUMBER() OVER(PARTITION BY ACCNAME ORDER BY (SELECT 1)) AS RW<br />
	FROM<br />
		AccountBalance<br />
)</p>
<p>SELECT<br />
	*,<br />
	SUM(CASE WHEN TYPE = &#8216;DB&#8217; THEN -AMOUNT ELSE AMOUNT END) OVER(PARTITION BY ACCNAME ORDER BY RW)<br />
FROM<br />
	CTE</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Deepak Tomar		</title>
		<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/#comment-7525</link>

		<dc:creator><![CDATA[Deepak Tomar]]></dc:creator>
		<pubDate>Thu, 18 Jul 2019 10:06:17 +0000</pubDate>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5860#comment-7525</guid>

					<description><![CDATA[Hi Avnesh ,

There is a window function that can do the same task as well.

;WITH cte AS (
SELECT 
	[TransactionDate]	
	,[AccName]	
	,[Type]	
	,[Amount]
	,CASE WHEN [Type] = &#039;DB&#039; THEN -1 * [Amount] 
		ELSE [Amount] END AS [NewAmount] 
FROM  AccountBalance

)

SELECT 
	[TransactionDate]	
	,[AccName]	
	,[Type]	
	,[Amount]
		, SUM(cte.NewAmount) OVER	(PARTITION BY [AccName] ORDER BY [TransactionDate] ROWS UNBOUNDED PRECEDING) AS [AccountBalance]
FROM cte]]></description>
			<content:encoded><![CDATA[<p>Hi Avnesh ,</p>
<p>There is a window function that can do the same task as well.</p>
<p>;WITH cte AS (<br />
SELECT<br />
	[TransactionDate]<br />
	,[AccName]<br />
	,[Type]<br />
	,[Amount]<br />
	,CASE WHEN [Type] = &#8216;DB&#8217; THEN -1 * [Amount]<br />
		ELSE [Amount] END AS [NewAmount]<br />
FROM  AccountBalance</p>
<p>)</p>
<p>SELECT<br />
	[TransactionDate]<br />
	,[AccName]<br />
	,[Type]<br />
	,[Amount]<br />
		, SUM(cte.NewAmount) OVER	(PARTITION BY [AccName] ORDER BY [TransactionDate] ROWS UNBOUNDED PRECEDING) AS [AccountBalance]<br />
FROM cte</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ankesh Patel		</title>
		<link>https://www.dbrnd.com/2019/06/sql-puzzle-sql-advance-query-to-generate-the-account-balance-column-for-bank-accounts/#comment-7505</link>

		<dc:creator><![CDATA[Ankesh Patel]]></dc:creator>
		<pubDate>Mon, 15 Jul 2019 09:01:33 +0000</pubDate>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5860#comment-7505</guid>

					<description><![CDATA[Update AccountBalance
set amount=amount*-1
where type=&#039;DB&#039;

--then give rank based on the account in the given table itself

select 
   TransactionDate,
    Accname,
    Type,
    Amount,
    IDs,
    (select sum(amount) from AccountBalance a where a.accname=b.accname and a.rank&#060;=b.rank) real_time_balance
from AccountBalance b]]></description>
			<content:encoded><![CDATA[<p>Update AccountBalance<br />
set amount=amount*-1<br />
where type=&#8217;DB&#8217;</p>
<p>&#8211;then give rank based on the account in the given table itself</p>
<p>select<br />
   TransactionDate,<br />
    Accname,<br />
    Type,<br />
    Amount,<br />
    IDs,<br />
    (select sum(amount) from AccountBalance a where a.accname=b.accname and a.rank&lt;=b.rank) real_time_balance<br />
from AccountBalance b</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
