现有四个表
Departments 此表包含需要统计的部门id(DepID),部门名称(DepName)
Users 此表包含上述部门对应的用户 UserName(一个DepID对应多个用户)
ContentBaseInfo 此表包含上表用户发布的文章(需加时间区间筛选)AskAnswerMain 此表包含各部门id(DepID)对信件的处理状态(DoState)
现要达到以下查询结果
DepName(部门名称) Count(本部门所有文章数量) Count(本部门所有信件处于DoState=4的数量)感觉好难啊,求高手
Departments 此表包含需要统计的部门id(DepID),部门名称(DepName)
Users 此表包含上述部门对应的用户 UserName(一个DepID对应多个用户)
ContentBaseInfo 此表包含上表用户发布的文章(需加时间区间筛选)AskAnswerMain 此表包含各部门id(DepID)对信件的处理状态(DoState)
现要达到以下查询结果
DepName(部门名称) Count(本部门所有文章数量) Count(本部门所有信件处于DoState=4的数量)感觉好难啊,求高手
select a.depname,count(c.id) as cnum,count(d.id) as dnum
from Departments a left join Users b on a.id = b.depid
left join ContentBaseInfo c on b.id = c.userid
left join AskAnswerMain d on a.id = d.depid and d.dostate = t
group by a.depname
select a.depname,count(c.id) as cnum,count(d.id) as dnum
from Departments a left join Users b on a.id = b.depid
left join ContentBaseInfo c on b.id = c.userid
left join AskAnswerMain d on a.id = d.depid and d.dostate = 4
group by a.depname
left join ContentBaseInfo c on (b.UserName 这里需要模糊等于 c.Editor)
类似一个模糊查询,应该怎么写呢
其他功能都实现了就差这一点了
这里不是id的比较,而是部门下的用户和文章的作者的比较,部门下的用户名比如是(ABC),但是ABC发表的文章署名就是(ABC部门名称)