如何在postgresql中查询一对一关系的计数?
我有一个由面向对象创建的postgresql数据库表设计如何在postgresql中查询一对一关系的计数?,sql,postgresql,Sql,Postgresql,我有一个由面向对象创建的postgresql数据库表设计 Accunt (id, CreateDate) PersonalAccount (AccountId, FirstName, LastName, Phone) CorporateAccount (AccountId, CorporationName, NationalTaxNumber) PersonalAccount和CorporateAccount具有与Account表相关的AccountId列 如何在postgresql中创建一对
Accunt (id, CreateDate)
PersonalAccount (AccountId, FirstName, LastName, Phone)
CorporateAccount (AccountId, CorporationName, NationalTaxNumber)
PersonalAccount
和CorporateAccount
具有与Account
表相关的AccountId
列
如何在postgresql中创建一对一关系
我在Account表中有3条记录。2个is个人账户
和1个is公司账户
如何按个人帐户和公司帐户选择计数组
AccountType Count
------------------------
PersonalAccount 2
CorporateAccount 1
Total 3
一种方法是
联合所有
和分组集
:
select coalesce(accounttype, 'Total'), count(*)
from ((select 'Personal' as accounttype
from PersonalAccount
) union all
(select 'Corporate'
from CorporateAccount
)
) pc
group by grouping sets ( (accounttype), () );
一种方法是
联合所有
和分组集
:
select coalesce(accounttype, 'Total'), count(*)
from ((select 'Personal' as accounttype
from PersonalAccount
) union all
(select 'Corporate'
from CorporateAccount
)
) pc
group by grouping sets ( (accounttype), () );