我有两个数据库,一个拥有姓氏,另一个拥有家庭成员。
由于可以在不相关的人之间共享单独的姓氏(姓氏),因此会为他们分配一个家庭" ID"这两个数据库共享。
familyNames : lastName | ID
memberNames : firstName | ID
我想计算每个家庭有多少成员,输出看起来像:
Family Name | Members
----------------------
Johnson | 14
----------------------
Brown | 21
----------------------
White | 33
有没有办法在不创建新列的情况下执行此操作?感谢。
(familyNames包含更多与问题无关的列,因此有两个表的原因)
答案 0 :(得分:3)
select f.lastname, count(m.firstname) as cnt
from familynames f
left join membernames m on m.id = f.id
group by f.id, f.lastname
order by f.lastname
答案 1 :(得分:2)
HERE数据库名称以表名为前缀,DB1,DB2是数据库名称。
SELECT FN.lastName as 'Family Name', COUNT(*) as Members FROM
DB1.familyNames FN
JOIN DB2.memberNames MN
on FN.ID = MN.ID
group by FN.lastName