sql内连接视图表

时间:2013-11-22 01:13:30

标签: mysql sql join view

我需要通过“视图”加入2个表来获取每个人(IdData),他拥有多少账户以及已经存入多少存款。我想要获取的列是:IdDataNUmberOfAccountsNumberOfDeposits

  

账户:

  • ACCOUNTNUMBER
  • DateAccount
  • IDDATA
  

存款:

  • DepositNumber
  • DateDeposit
  • ValueDeposit
  • AccountNumber(外键)

我不确切知道如何加入这些信息。单独看起来像这样。我需要以某种方式加入他们。

select count(Accounts.AccountNUmber) as NUmberOfAccounts,IdData
from Accounts
group by IdData

select count(Deposits.AccountNUmber) as NumberOfDeposits,IdData
from Deposits inner join Accounts on Deposits.AccountNUmber=Accounts.AccountNUmber
group by IdData

2 个答案:

答案 0 :(得分:0)

您可以尝试此查询:

选择a.idData, 将(a.accountNumber)计为NumberOfAccounts, (从存款中选择计数(depositNumber)  其中accountNumber = a.idData)为NumberOfDeposits 从帐户a 按IDData分组

这是fiddle

答案 1 :(得分:0)

只需使用这样的子查询:

SELECT a.idData,
count(a.AccountNumber) AS NumberOfAccounts,
(
     SELECT count(depositNumber) FROM deposits as b 
     WHERE b.accountNumber = a.accountNumber
) 
AS NumberOfDeposits
FROM accounts a
GROUP BY iddata;

以下是Fiddle