0
我必须编写一个SQL语句,它包含一个连续包含两个不同值的字段,但是按照我写它的方式,它总是返回null,因为它被解释为具有相同的两个值时间!编写SQL语句的问题
我的条件应为:(ci.field = '组' 和ci.oldString = '分流')和(ci.field = '受让人' 和ci.newString不是NULL)
也就是说的装置计算工作时间:当问题被分配到名为分流组,当这个问题被分配到一个人
如何解决呢?
我的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);
这是表从至极,我应该检索数据
你要么输错了你的条件,要么有错的东西,它要求'ci.field ='Group'和ci.field ='assignee''是真的,这是不可能的。 – nobody
我还没有输入错误:(我应该计算第一次当field ='group'和newstring =“groupx”,第二次当field ='assignee'和newstring <> NULL时,请查看picutre也许你可以理解我想要的,比你的 – rym
你有一个相当不好的例子,因为你提供的sql包含_way比示例数据更难以弄清楚什么是键(你怎么确定我只能得到1条记录,其中field ='group'和oldstring ='Triage')以及相关内容。除此之外,您忘记了指定查询的主要目标,即计算这两条记录之间的timediff。 – Eddy