Mysql 为以下场景编写sql或块生成以下结果集
需要使用SQL生成一个结果集,如下所示Mysql 为以下场景编写sql或块生成以下结果集,mysql,Mysql,需要使用SQL生成一个结果集,如下所示 Table1 Name typeofcontract amount Ajay Account -2000 Ajay Loan 5000 Ajay Deposit 11000 Aman Deposit 12000 Aman Loan 5000 Aman Account 2000 您可以这样做: Name noofaccount Noofloan Noofdeposit borrowedamount av
Table1
Name typeofcontract amount
Ajay Account -2000
Ajay Loan 5000
Ajay Deposit 11000
Aman Deposit 12000
Aman Loan 5000
Aman Account 2000
您可以这样做:
Name noofaccount Noofloan Noofdeposit borrowedamount availamount total amount
Ajay 1 1 1 7000 11000 6000
检查计算出的金额的逻辑,因为根据您的示例,它是不确定的。这将为您提供一种解决此类问题的方法。还有其他方法可以获得此输出 欢迎来到堆栈溢出。首先,请有礼貌地问一个问题。不要将问题结构化为需求。您尝试了什么SQL?最好是从你的尝试中发布一个片段,而不是要求社区提供一个很好的解决方案。干杯
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