我需要帮助来构建查询。问题是,我无权对数据库进行设计更改。考虑到这一点,我的表格如下所示:
Problems
ID
日期
LastStory
UserAssignedTo
Stories
ID
问题ID
UserThatMadeTheStory
DateOfStory
状态
数据如何存储:系统上的任何用户都可以创建“问题”。每次创建问题时,还会在 Stories 表上插入一行,链接到 Problems 表的“ProblemID”,状态为“2”,并将“UserThatMadeTheStory”分配给产生“问题”的实际用户”。后来,问题是“重新分配”给其他用户。此过程创建一个“Stories”条目,其中包含描述并将“UserThatMadeTheStory”更改为分配它的用户,同时在“Problems”表中更改“UserAssignedTo”以保存分配的新用户至。然后,要知道谁实际上打开了问题,我必须在“Stories”中查找具有“ProblemID”的第一条记录
现在,我遇到的问题是:
我必须查找,比如说,上个月,用户创建的问题。查询将如何?
编辑:
SELECT s.*
FROM stories s
INNER JOIN (SELECT problemid, min(id) AS Id FROM stories GROUP BY problemid) s2 ON s.id = s2.id
INNER JOIN (SELECT UserThatMadeTheStory, DateOfStory, Id FROM stories) s3 ON s2.id = s3.id
WHERE s3.UserThatMadeTheStory = <the one you're interested in>
AND s3.DateOfStory = <dates you're interested in>
这确实按预期工作,现在我没有其他问题......
如果你能帮助我...我必须列出 X 用户创建的问题。AND HAVENT 有任何“故事”让我们说“过去 2 天”(或指定的任何日期 [它可以是查询的外部输入])