gpt4 book ai didi

mysql - 这个 mysql 子查询可以用 JOIN 缩短吗?

转载 作者:行者123 更新时间:2023-11-29 00:59:29 24 4
gpt4 key购买 nike

我试图在“存档”表中找到所有条目,这些条目与 historyID 为 NULL、worktype =“WEST”且 completeDate 至少四个月前的任何行具有相同的 workID。我正在使用子查询来完成此请求。有没有更有效的方法?我的查询如下。

SELECT * from archive b WHERE b.workID IN 
(SELECT a.workID FROM archive a, worktypes t
WHERE a.historyID IS NULL AND (t.worktype IN ('WEST') AND a.worktype = t.id)
AND a.completeDate >= DATE(NOW() - Interval 4 month));

附加信息:表格仅按工作类型相关。基本上,我使用的是工作类型表,这样我就可以键入“WEST”而不是提供 ID 号,这样更容易一目了然地理解查询。我添加到查询中。我没有全部复制粘贴。糟糕。

谢谢!

最佳答案

SELECT b.* 
FROM archive b
INNER JOIN archive a
on b.workID = a.workID
AND a.historyID IS NULL
AND a.completeDate >= DATE(NOW() - Interval 4 month)
INNER JOIN worktypes t
ON a.worktype = t.id
AND t.worktype = 'WEST'

关于mysql - 这个 mysql 子查询可以用 JOIN 缩短吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com