查询不同类别

时间:2018-11-18 10:40:16

标签: sql sql-server

我想查看表/rooms中一天内是否有多个QuestionCategory。就我而言,人们无需一天就回答不同类别的问题。我可以为此做一个contentment

  

内容表:员工编号,问题编号,日期,得分

     

问题表:questionid,questioncat,问题

     

数据满足度表:1、1、11-18-2018、4

     

数据问题表:1,工作,您的工作如何? 2,工作,你开心吗   工作吗?

如果有这样的东西:

trigger

但是此查询仅计算select c.questionid, date from contentment c join question q on c.questionid= q.questionid group by c.questionid, date having count(questioncat) >= 2 ,此表中的IF是该表的两倍或更多,如果此表中有两个questionid different,则不算。 我使用SQL Server。

因此,如果有人想插入此内容: questioncategories(空,因为员工需要评分) 该查询需要提供此questionid和日期(2和11-18-2018),因为它是在同一天11-18-2018上的同一questioncat“工作”。

2 个答案:

答案 0 :(得分:1)

您需要添加DISTINCT

select c.questionid, date
from contentment c 
join question q
on c.questionid= q.questionid
group by c.questionid, date
having count(DISTINCT questioncat) >= 2;
             -- counting only different questioncat

答案 1 :(得分:0)

您的问题很难回答,但我认为您希望员工在一天内具有多个问题类别。如果是这样:

select c.employeeid, c.date, count(distinct q.questioncat)
from contentment c join
     question q
     on c.questionid = q.questionid
group by c.employeeid, c.date
having count(distinct q.questioncat) >= 2;