用于语句的sql函数

时间:2017-03-25 17:54:44

标签: sql sql-server sql-server-2012 sql-function

我的表格如下:tblBankTransaction TransID(PK,Auto)

现在我需要这样的表:

Table for statement 这里:如果TransType ='Deposit'那么它需要Debit,如果TransType ='Withdraw'那么它需要是Credit,而Debit-Credit从first到Last作为Statement(Balance)。你能给出任何解决方案吗? 请让我进一步澄清。

2 个答案:

答案 0 :(得分:3)

平衡有点棘手。剩下的就是一个简单的case

select t.*,
       (case when TransType = 'Deposit' then amount end) as credit,
       (case when TransType = 'Withdraw' then amount end) as debit,
       sum(case when TransType = 'Deposit' then amount
                when TransType = 'Withdraw' then - amount
           end) over (partition by BankName order by TransDate
                     ) as balance
from t;

答案 1 :(得分:0)

就我提出的问题而言,您需要在'其中'条款。 例如,选择BankName,TransDate,TransMiti,TableName中的描述,其中TransType ="存储"" 同样适用于WithDraw。 这是了解更多信息的链接。 https://www.w3schools.com/sql/sql_where.asp