我有一个事务表,我希望从每行返回两行。交易表对于每笔交易都有一行。我想以下面的日记帐分录格式返回交易日期和金额:
TransactionDate TransactionRef Transaction Amount
01/01/2019 12345 500.5
我还需要包含一个借方/贷方列,以使第一行过账为正金额,借方/贷方显示“Db”,然后返回的第二行将为负数,借方/贷方显示“Cr”
我需要查询事务表并返回以下值:
TransactionDate TransactionRef Transaction Amount Db/Cr
01/01/2019 12345 500.5 Db
01/01/2019 12345 -500.5 Cr
最佳答案
另一个选择是交叉应用
Select A.TransactionDate
,A.TransactionRef
,B.TransactionAmount
,DrCr = case when sign(B.TransactionAmount)<0 then 'Cr' else 'Dr' end
From YourTable A
Cross Apply ( values ( TransactionAmount)
,( TransactionAmount*-1)
) B(TransactionAmount)
关于sql - 为表中的每行返回两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56480300/