gpt4 book ai didi

mysql - 我如何使用选择查询在 mysql 中编写更新语句?

转载 作者:行者123 更新时间:2023-11-30 23:09:12 25 4
gpt4 key购买 nike

我想通过从 Table2 获取 max(date) 和 min(Date) 来更新 table1,仅当 table1.status=100table1.Todate 时='0000-00-00 00:00:00'我正在尝试使用以下查询进行同样的操作,但它在 group by 中给出了错误

update table1 s 
left join table2 t
on s.stCode=t.tsTask
set s.stActFrom= min(t.tsDate),s.stActTo=max(t.tsDate)
WHERE s.stActTo='0000-00-00 00:00:00' and s.stStatus=100
group by t.`tsTask`

如果我执行此查询,我会收到以下错误。#1064 - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“group by t.tsTask”附近使用的正确语法

谁能告诉我如何编写这个更新查询?

最佳答案

update s
set s.stActFrom= t.MinDate,
s.stActTo = t.MaxDate
FROM table1 s left join
(
SELECT MinDate = min(tsDate), MaxDate = max(tsDate)
FROM table2
group by `tsTask`
) AS t
WHERE s.stActTo='0000-00-00 00:00:00' and s.stStatus=100
ON s.stCode=t.tsTask

关于mysql - 我如何使用选择查询在 mysql 中编写更新语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583275/

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