проблема с результатом оператора SQL - PullRequest
1 голос
/ 18 августа 2011

У меня есть следующий сценарий для достижения с помощью оператора SQL, У меня есть проблема, назначенная группам Triage, GX, GY:

группа Triage -> группа GX

группа GX -> группа Triage

группа Triage -> группа GY

Я хочу извлечь только первый раз, когда моя проблема назначена группе Triage, и игнорировать остальные, я пытался сделать это, но всегда плохой результат (получить все строки, когда проблема назначена группе Triage)

Оператор SQL:

    select g.created ,ji.pkey as issueName
    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  p.pname = 'Test'
    and pr.pname='P3'
    and  ji.created between '2011-08-11 14:01:00' and  '2011-08-12 14:11:00'

результат оператора (как вы видите, выпуск 200 назначается группе Triage 2 раза, поэтому запрос извлекает 2 строки):

enter image description here

Таблица изменений группы имеет такую ​​структуру:

enter image description here

Таблица changeitem имеет следующую структуру: enter image description here

1 Ответ

0 голосов
/ 18 августа 2011

Попробуйте это. Но это может быть очень медленный запрос

select g.created, ji.pkey as issueName
from   changegroup g
join   jiraissue ji on (ji.id = g.issueid)
where (g.created, issueName) in (
 select min(g.created) ,ji.pkey as issueName
 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  p.pname = 'Test'
 and pr.pname='P3'
 and  ji.created between '2011-08-11 14:01:00' and  '2011-08-12 14:11:00'
 group by issueName
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...