我在查询中遇到问题。我想显示一个字段,其中包含来自其他表上的计数的结果。很难解释,但我希望你能帮助我 所以我想要的结果是:
select id, name, car from tbl_people,tbl_vehicle
'car'字段是来自车辆表中的计数(车辆)的结果,该表中的字段是id和车辆。车辆领域包含(前)汽车,自行车,摩托车,(任何其他车辆) 我想要的结果就像:
id | name | car
-----------------
01 | john | 3 (example)
感谢您的关注
答案 0 :(得分:0)
通常你最终得到一个子查询。不确定您的ID,但是:
select p.id, p.name, p.cnt
from tbl_people p
inner join
(select personid, count(1) as Cnt
from tbl_vehicle
where vehicle_name = 'Car'
group by personid) v
on v.personid = p.id
order by p.name
答案 1 :(得分:0)
你也可以试试这个:
select t1.id, t1.DeptID, count(t2.DeptId) as count
from t1 join t2 on t1.DeptID=t2.DeptId group by t2.DeptId;
将t1和t2替换为相应的表名和具有相应列名的列。如果你想要一个where子句,你可以在group by子句之前添加它,如:
select t1.id, t1.DeptID, count(t2.DeptId) as count
from t1 join t2 on t1.DeptID=t2.DeptId and t2.Name like '%a%'
group by t2.DeptId;
工作小提琴here
提示:设t1为tbl_people,t2为tbl_vehicle。连接将在ids上,并且count(t2.DeptId)可以替换为tbl_vehicle.ID(如果重复或tbl_vehicle.pId),t2.Name可以替换为tbl_vehicle.Name