- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,如果之前已经回答过这个问题;我有点不确定如何最好地描述这个问题,不要介意搜索它。但是这里...
基本上我有一个“项目”表,其中包含“id”和“标题”。我还有一个“projects_history”表,其中包含 (IF) 项目设置为存档时的信息( bool 值)。它有一个引用项目的“pid”键——每个项目在更新时可以有多个记录(以便跟踪谁将值设置为什么)。
还有一个“project_enquiries”表,其中包含有关为项目提出的查询的信息,因此有一个引用“projects”的“pid”键。类似地,有一个“project_enquiry_history”表记录何时 (IF) 查询设置为关闭( bool 值)。它有一个引用 project_enquiry 的“eid”键 - 每个查询在更新时可以有多个记录(以便跟踪谁将值设置为什么)。
我的查询旨在提取尚未存档的项目(因此要么在'project_history'中没有记录,要么该项目的最新记录'archived'= 0),其中的查询仍在打开(因此“project_enquiry_history”中没有记录,或者查询的最新记录有“打开”= 1)。
我真的很纠结从哪里开始查询。
最佳答案
第一件事是,如果 project_history
中没有记录,那么您需要对 projects
表进行左连接
在 project_history
表上使用您的项目 ID 来发现它。结果中的条目将在 project_history
的列中为空,其中没有相应的条目。然后您可以链接该过程,使用结果在“project_enquiry_history”上执行另一个左连接以查找没有条目的项目。
您也可以像往常一样使用这些结果来选择数据。
它看起来像:
SELECT * from project p LEFT OUTER JOIN project_history ph ON P.ID=ph.pid
LEFT OUTER JOIN project_enquiry_history peh ON peh.ID=ph.pid
WHERE(存档为 NULL 或存档=0)
AND(open 为 NULL OR open=1)
如果您使用时间戳等,您可能需要调整它以找到最新的。
关于MySQL 子查询 AND 'NOT IN',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053339/
我是一名优秀的程序员,十分优秀!