我制作了SQL Fiddle,我想要做的是使用departmentid
加入这两个查询。
我想要展示的是departmentname
和not_approved_manager
。
在这种情况下,最好使用联合或加入吗?
表格
create table cserepux
(
status int,
comment varchar(25),
departmentid int,
approveddate datetime
);
insert into cserepux (status, comment, departmentid, approveddate)
values (1, 'testing1', 1, NULL), (1, 'testing2', 1, NULL),
(1, 'testing2', 2, NULL), (0, 'testing2', 1, NULL),
(0, 'tesitng2', 1, NULL), (0, 'testing2', 1, NULL),
(0, 'tesitng2', 1, NULL), (0, 'testing3', 2, NULL),
(0, 'testing3', 3, NULL);
create table cseDept
(
departmentid int,
department_name varchar(25)
);
insert into cseDept (departmentid,department_name)
values (1, 'department one'), (2, 'department two'),
(3, 'department three'), (4, 'department four');
查询
select
departmentid,
COUNT(*) AS 'not_approved_manager'
from
cserepux
where
approveddate is null
group by
departmentid
SELECT * FROM cseDept
答案 0 :(得分:3)
您需要加入。工会不会得到你想要的东西。
select d.department_name, COUNT(*) AS 'not_approved_manager'
from cserepux c
inner join cseDept d on c.departmentid = d.departmentid
where approveddate is null
group by d.department_name
答案 1 :(得分:1)
你需要一个加入和一个正确的小组
select dep.department_name, COUNT(*) AS 'not_approved_manager'
from cseDept dep
join cserepux cs on cs.departmentid = dep.departmentid
where approveddate is null
group by dep.department_name
小提琴: http://sqlfiddle.com/#!3/5cf4e/30
由于加入和 group by 是SQL中的基本内容,我建议你先看看一些教程,以便更加熟练地掌握它。您可以尝试SQL Server Central楼梯文章系列