
SQL问题,视图,两表联合查询,count。懵了,求指点。
selecttb.*,当期管护区信息表.管护面积,当期管护区信息表.管护区号,当期管护区信息表.管护蓄积from(SELECT林业局,林场,单位,管护站编号,林班数,占地...
select tb.* ,当期管护区信息表.管护面积,当期管护区信息表.管护区号,当期管护区信息表.管护蓄积 from (
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM (
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点 ) AS derivedtbl_1
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林业局管护站点)
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点 )
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_管护站点)
)
tb
left join 当期管护区信息表 on tb.管护站编号=当期管护区信息表.管护站编号
ORDER BY tb.林业局 ,tb.林场, tb.管护站编号
这是我写的查询,已经实现,现在在关联表当期管护区信息表中有列是管护人编号,我想利用管护人编号统计每个林业局,林场,管护站中管护人的个数,怎么修改能实现? 展开
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM (
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点 ) AS derivedtbl_1
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林业局管护站点)
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点 )
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_管护站点)
)
tb
left join 当期管护区信息表 on tb.管护站编号=当期管护区信息表.管护站编号
ORDER BY tb.林业局 ,tb.林场, tb.管护站编号
这是我写的查询,已经实现,现在在关联表当期管护区信息表中有列是管护人编号,我想利用管护人编号统计每个林业局,林场,管护站中管护人的个数,怎么修改能实现? 展开
1个回答
展开全部
用count做统计:
select tb.林业局 ,tb.林场, tb.管护站编号, count(当期管护区信息表.管护人编号) as [管护人的个数]
from (
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM (
SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点
) AS derivedtbl_1
UNION
(SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林业局管护站点
)
UNION
(SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_林场管护站点
)
UNION (SELECT 林业局,林场,单位, 管护站编号,林班数, 占地面积, 建筑面积, 资金, 通讯, 交通, 供电, 生活,其他
FROM View_管护站点)
)
tb left join 当期管护区信息表 on tb.管护站编号=当期管护区信息表.管护站编号
group by tb.林业局 ,tb.林场, tb.管护站编号
ORDER BY tb.林业局 ,tb.林场, tb.管护站编号
追答
提示说得清楚: 你要将tb.单位加在select的选择列表中, 那么必须也在group by中加入tb.单位.
因为数据库中进行分组统计时, 能够出现在select选择列表中的字段要么是房子统计函数(count, sum, max, min等)中, 要么是分组字段(就是放在group by后的字段).
所以, 你只要把tb.单位也加入group by中即可.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询