select *
from tblcustomer as cust
inner join (tblamountdetails as det on det.[CustomerID]=cust.[CustomerID])
inner join (select cash.AccountID, sum(Amount) as [Paid Amount]
from tblcashdetails as cash
group by cash.AccountID) as cash2
on cash2.AccountID=det.AccountID
表格格式:
1) cutomertable:
customerid | customername | Address | phone
1 arun palani 1212112221
2 aaa sssss 123123123
2)Amountdetailtable:
AccountID | customerid | Total amount | Daily Amount
1 1 12000 120
3)cashtable :
AccountID | customerid | amount(given day by day)
1 1 120
1 1 120
最后我想要这样......
customerid | customername |AccountID| totalamount | daily amount | amount(given)
1 arun 1 12000 120 240(this is sum of amount in table 3 where custid=1)
答案 0 :(得分:2)
select
cust.customerid,
cust.customername,
amt.AccountID,
amt.[Total amount],
amt.[Daily Amount],
t.amountgiven
from cutomertable cust
inner join Amountdetailtable amt on cust.customerid=amt.customerid
inner join (select SUM(amount) amountgiven,customerid from cashtable group by customerid)t
on t.customerid=cust.customerid
<强> SQL FIDDLE 强>
小提琴花了很多时间
答案 1 :(得分:0)
试试这个 -
SELECT *
FROM tblcustomer cust
INNER JOIN tblamountdetails det ON det.[CustomerID] = cust.[CustomerID]
INNER JOIN (
SELECT
cash.AccountID
, [Paid Amount] = SUM(Amount)
FROM tblcashdetails cash
GROUP BY cash.AccountID
) cash2 ON cash2.AccountID = det.AccountID
答案 2 :(得分:0)
答案: SELECT DISTINCTROW tblamountdetails.CustomerID,tblcustomer。[Customer Name],tblamountdetails.AccountID,tblamountdetails。[Total Amount],tblamountdetails。[Daily Amount],Sum(tblcashdetails.Amount)AS [Amount Given],(tblamountdetails。[Total Amount] - [Amount Given])AS [Balance] FROM(tblcustomer RIGHT JOIN tblamountdetails ON tblcustomer。[CustomerID] = tblamountdetails。[CustomerID])LEFT JOIN tblcashdetails ON tblamountdetails。[AccountID] = tblcashdetails。[AccountID] GROUP BY tblamountdetails.AccountID, tblamountdetails.CustomerID,tblamountdetails。[总金额],tblamountdetails。[每日金额],tblcustomer。[客户名称]“