Sql 不同类别的查询
我想看看表Sql 不同类别的查询,sql,sql-server,Sql,Sql Server,我想看看表content中一天内是否有多个QuestionCategory。在我看来,人们不需要在一天内回答不同类别的问题。我可以触发这个 内容表:员工ID、问题ID、日期、分数 问题表:问题ID、问题猫、问题 数据内容表:1,1,11-18-2018,4 数据问题表:1,工作,你的工作怎么样?2、工作,你快乐吗 你的工作怎么样 如果你有这样的东西: select c.questionid, date from contentment c join question q on c.questi
content
中一天内是否有多个QuestionCategory
。在我看来,人们不需要在一天内回答不同类别的问题。我可以触发这个
内容表:员工ID、问题ID、日期、分数
问题表:问题ID、问题猫、问题
数据内容表:1,1,11-18-2018,4
数据问题表:1,工作,你的工作怎么样?2、工作,你快乐吗
你的工作怎么样
如果你有这样的东西:
select c.questionid, date
from contentment c
join question q
on c.questionid= q.questionid
group by c.questionid, date
having count(questioncat) >= 2
但是,如果aquestionid
在该表中是两倍或两倍以上,则此查询仅计算,而不是如果该表中有两个不同的questioncategories
。
我使用SQL Server
因此,如果有人想插入以下内容:
插入满足值(1,2,11-18-2018',空)
(空,因为员工需要评分)
查询需要给出此问题ID和日期(2和11-18-2018),因为这是同一天11-18-2018的同一个问题CAT“工作”。您需要添加不同的:
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
您的问题很难理解,但我认为您希望员工在给定的一天中有多个问题类别。如果是:
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;
它不起作用。也许我首先需要计算一下表内容中的问号SID,然后看看同一天是否有两个不同的问号类别?请提供示例数据和期望的结果。为什么两个表中都有questioncat
?我添加了更多信息,希望现在清楚了。您的解决方案也不起作用。