[英]write an sql or block generate below result set for below scenario
Table1
Name typeofcontract amount
Ajay Account -2000
Ajay Loan 5000
Ajay Deposit 11000
Aman Deposit 12000
Aman Loan 5000
Aman Account 2000
需要使用SQL生成结果集如下
Name noofaccount Noofloan Noofdeposit borrowedamount availamount total amount
Ajay 1 1 1 7000 11000 6000
你可以这样做:
SELECT Name,
SUM(IF(typeofcontract='Account') THEN 1 ELSE 0) NoOfAccount,
SUM(IF(typeofcontract='Loan') THEN 1 ELSE 0) NoOfLoan,
SUM(IF(typeofcontract='Deposit') THEN 1 ELSE 0) NoOfDeposit,
SUM(IF(typeofcontract='Account') THEN amount * -1
ELSE IF (typeofcontract='Loan') THEN amount) BorrowedAmount,
SUM(IF(typeofcontract='Deposit') THEN amount) AvailableAmount,
SUM(IF(typeofcontract='Deposit') THEN amount
ELSE IF (typeofcontract='Loan') THEN amount * -1) TotalAmount
FROM Table1
GROUP BY Name
检查计算金额的逻辑,因为它在您的示例中不确定。 这应该为您提供有关如何解决此类问题的方法。 还有其他方法可以获得此输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.