我正在尝试计算我的应用程序中每个停车场的汽车数量以及其他一些信息。但是,我不太确定如何处理这个问题。
表
我有 3 张桌子。
lot
- 此表包含停车场的信息manager
- 此表包含停车场经理的信息car
- 这个表有一个可以在给定停车场的汽车列表
lot
id | name | manager_id
----+------+------------
1 | foo | 1
2 | bar | 1
manager
id | name
----+--------
1 | alice
2 | bob
car
id | lot_id
----+--------
1 | 1
2 | 1
3 | 2
4 | 2
期望的输出
给定 a manager_id
,我想要一个列表:
- 他们管理的地段的名称
- 经理的名字
- 该地段的汽车数量
这就是我想要结束的。
id | lot_name | manager_id | manager_name | num_cars
----+----------+------------+--------------+----------
1 | foo | 1 | alice | 2
2 | bar | 1 | alice | 2
我已经想出如何在结果中获取经理姓名,但我不确定如何获取每个批次的汽车数量。
这是我到目前为止所拥有的。
-- manager_id 1 is alice.
select
id, name as lot_name, manager_id,
(select name from manager where id = 1) as manager_name
from lot where manager_id = 1;
我在想我需要在某个地方加入一个表来引入car
表并以某种方式做一个count
. 不完全确定如何。
我不确定我是否理解正确,你指的是 group by 吗?