我尝试使用多个 SQL 语句创建一个 MySQL 语句。
我想做的是:
我得到两张桌子,project
& jiraissue
。
表:项目
Columns:
ID decimal(18,0) PK
pname varchar(255)
URL varchar(255)
LEAD varchar(255)
DESCRIPTION text
pkey varchar(255)
pcounter decimal(18,0)
ASSIGNEETYPE decimal(18,0)
表:jiraissue
Columns:
ID decimal(18,0) PK
pkey varchar(255)
PROJECT decimal(18,0)
REPORTER varchar(255)
ASSIGNEE varchar(255)
issuetype varchar(255)
SUMMARY varchar(255)
DESCRIPTION longtext
ENVIRONMENT longtext
PRIORITY varchar(255)
RESOLUTION varchar(255)
issuestatus varchar(255)
CREATED datetime
UPDATED datetime
DUEDATE datetime
VOTES decimal(18,0)
TIMEORIGINALESTIMATE decimal(18,0)
TIMEESTIMATE decimal(18,0)
TIMESPENT decimal(18,0)
WORKFLOW_ID decimal(18,0)
SECURITY decimal(18,0)
FIXFOR decimal(18,0)
COMPONENT decimal(18,0)
我的目标是获取 2012 年之前更新的最新问题 (jiraissue.UPDATED) 的项目名称 (project.pname)。
示例:
我得到了一个 Project ABC,它的最新问题是 21.11.2012 更新的。另一个 Project XYZ的最新一期最后更新于 08.12.2011。
所以我的 SQL 脚本应该给我第二个项目XYZ的名称,而不是第一个ABC
这里有一个工作脚本来找出哪个问题是最新的带有 STATIC 项目 ID 的问题:
SELECT
pkey
FROM
jiraissue
WHERE
UPDATED = (SELECT
max(UPDATED)
FROM
jiraissue
WHERE
PROJECT = 10472)
但是现在脚本怎么样,当我想要所有这些项目的项目名称时?我所有的尝试都需要大量的处理时间并返回一个未定义的错误......
编辑: 现在我得到以下代码:
select
p.pname, j.pkey
from
project p
inner join
jiraissue j ON j.ID = (select
PROJECT
from
jiraissue
where
UPDATED = (SELECT
max(UPDATED)
from
jiraissue))
AND p.ID = j.PROJECT
结果只是第一个键最低的项目......我如何浏览所有项目?
编辑:
select
p.pname, j.pkey, j.UPDATED
from
project p
inner join
jiraissue j
where
j.ID = (select
PROJECT
from
jiraissue
where
UPDATED = (SELECT
max(UPDATED)
from
jiraissue
where
UPDATED < '2012-01-01 00:00:00'))
and p.ID = j.PROJECT
它显示了我想要的所有内容。但只是第一个项目。所以我需要所有项目!我如何不仅选择 1 个项目,而且选择所有项目?