我正在使用以下代码:
select case when a.questionid = 184 then a.text end 'Assistant Name',
a.questionid 'Question ID',
case when (a.questionid = 125 and a.optionid = 1309) or (a.questionid = 135 and a.optionid = 1298) then 'Yes' else '' end 'Labelling Mentioned',
s.outletid 'Outlet ID',
s.visittime 'Visit Time'
from answer a inner join answerset s on s.id = a.answersetid
where s.VisitTime between '2014-03-01 00:00:00' and '2014-03-31 23:59:59'
and a.questionid in (125,135,184);
产生如下输出:
Assistant Name Question ID Option ID Labelling Mentioned Outlet ID Visit Time
NULL 135 203 307 03/03/2014 09:37
Alf 184 NULL 307 03/03/2014 09:37
NULL 125 107 26888 03/03/2014 09:42
NULL 125 162 26888 03/03/2014 09:42
NULL 125 1309 Yes 26888 03/03/2014 09:42
NULL 135 204 26888 03/03/2014 09:42
NULL 135 1298 Yes 26888 03/03/2014 09:42
NULL 135 167 26888 03/03/2014 09:42
NULL 135 203 26888 03/03/2014 09:42
NULL 135 204 26888 03/03/2014 09:42
NULL 135 1298 Yes 26888 03/03/2014 09:42
NULL 135 204 26888 03/03/2014 09:42
NULL 135 1298 Yes 26888 03/03/2014 09:42
NULL 135 167 26888 03/03/2014 09:42
NULL 135 129 26888 03/03/2014 09:42
NULL 135 173 26888 03/03/2014 09:42
NULL 135 204 26888 03/03/2014 09:42
NULL 135 1298 Yes 26888 03/03/2014 09:42
Steve 184 NULL 26888 03/03/2014 09:42
NULL 125 107 297 03/03/2014 09:46
NULL 125 198 297 03/03/2014 09:46
我的问题是我需要为给定的插座生成一行输出。所需的输出将是“助理名称|标记提示|出口ID |访问时间”,并给出助手的姓名,如果任何“标签提及”选项包含“是”,则为“是”。
有没有办法可以做到这一点?我尝试过一些东西(分组,COALESCE),但似乎已经碰壁了。
非常感谢!