Я должен написать инструкцию SQL, которая содержит поле, содержащее два разных значения последовательно, но в том виде, в котором я его написал, он всегда возвращает ноль, поскольку он интерпретируется как имеющий два значения в одно и то же время!
Мои условия должны быть: (ci.field = 'Group' и ci.oldString = 'Triage') и (ci.field = 'assignee', а ci.newString не равно NULL)
Это значитрассчитать время между: когда проблема назначена группе с именем Triage и когда проблема назначена человеку
как я могу это исправить?
Мой оператор SQL:
select TIMEDIFF(a.created,b.created)
from
(select g.created, g.issueid as groupid1
from changegroup g
join changeitem ci on (ci.groupid = g.id)
join jiraissue ji on (ji.id = g.issueid)
join project p on (p.id = ji.project)
join priority pr on (pr.id = ji.priority)
where ci.field = 'Group'
and ci.oldString = 'Triage'
and ci.field='assignee'
and ci.newString is not NULL
and p.pname = 'Test'
and pr.pname='P1'
and ji.created between '2011-08-11 14:01:00' and '2011-08-12 14:11:00'
) a
left join (
select ji.created, ji.id as groupid2
from jiraissue ji
join changegroup g on (g.issueid = ji.id)
join project p on (p.id = ji.project)
where p.pname = 'Test'
and ji.created between '2011-08-11 14:01:00' and '2011-08-12 14:11:00'
) b ON (a.groupid1 = b.groupid2);
Это таблица, из которой я должен получить данные
