SQL分类汇总

数据很简单,表A,Dc_ID,Dc_nameA1,AAAA2,AAB表B,Dp_ID,Dc_ID,use_statusB1,A1,'使用中'B2,A1,'未使用'B3,A... 数据很简单,
表A,Dc_ID,Dc_name
A1,AAA
A2,AAB
表B, Dp_ID,Dc_ID,use_status
B1,A1,'使用中'
B2,A1,'未使用'
B3,A2,'使用中'

显示表A的Dc_ID,Dc_name,以及表B的不同的use_status的数量
如,Dc_ID,Dc_name,'使用中','未使用'
A1,AAA,1,1
A2,AAB,1,0
展开
 我来答
a5202003
2009-10-13 · TA获得超过2249个赞
知道大有可为答主
回答量:1885
采纳率:75%
帮助的人:593万
展开全部
标准答案:

select a.Dc_ID,a.Dc_name,
sum(case when use_status='使用中' then 1 else 0 end) 使用中,
sum(case when use_status='未使用' then 1 else 0 end) 未使用
from a,b where a.Dc_ID=b.Dc_ID
group by a.Dc_ID,a.Dc_name
美林数据技术股份有限公司
2020-10-29 广告
Tempo大数据分析平台,是一款面向企业用户的数据分析与应用工具,为用户提供报表设计、可视化分析、机器学习、文本分析等自助式数据分析与探索。平台基于大数据架构,集数据接入、数据分析探索、成果管理与应用为一体,面向企业全民用户提供从数据到业务... 点击进入详情页
本回答由美林数据技术股份有限公司提供
带我信乐
2009-10-13 · TA获得超过1353个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:718万
展开全部
SELECT 表A.*,表B.使用中,表B.未使用
FROM 表A LEFT JOIN
(
SELECT Dc_ID,
SUM( CASE Dc_name WHEN '使用中' THEN 1 ELSE 0 END ) AS 使用中,
SUM( CASE Dc_name WHEN '未使用' THEN 1 ELSE 0 END ) AS 未使用
FROM 表B
GROUP BY Dc_ID
)AS 表B
ON 表A.Dc_ID = 表B.Dc_ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fan6081142
2009-10-13 · 超过32用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:95.2万
展开全部
--> 测试数据: @a
declare @a table (Dc_ID varchar(2),Dc_name varchar(3))
insert into @a
select 'A1','AAA' union all
select 'A2','AAB'
--> 测试数据: @b
declare @b table (Dp_ID varchar(2),Dc_ID varchar(2),use_status varchar(6))
insert into @b
select 'B1','A1','使用中' union all
select 'B2','A1','未使用' union all
select 'B3','A2','使用中'

select a.Dc_ID,a.Dc_name
,未使用 = sum(case when b.use_status = '未使用' then 1 else 0 end)
,使用 = sum(case when b.use_status = '使用中' then 1 else 0 end)
from @a a
inner join @b b on a.dc_id = b.dc_id
group by a.Dc_ID,a.Dc_name

Dc_ID Dc_name 未使用 使用
----- ------- ----------- -----------
A1 AAA 1 1
A2 AAB 0 1

(所影响的行数为 2 行)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
需邡而窗尚与曾1j
高粉答主

2020-02-04 · 醉心答题,欢迎关注
知道答主
回答量:11万
采纳率:1%
帮助的人:5407万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式